here table definition store installation information:
create table [dbo].[installinfo]( [id] [uniqueidentifier] not null, [module] [int] not null, [version] [nvarchar](50) not null, [installdate] [datetime] not null, constraint [pk_installinfo] primary key clustered ([id] asc) (pad_index = off, statistics_norecompute = off, ignore_dup_key = off, allow_row_locks = on, allow_page_locks = on) on [primary] ) on [primary]
what want top 1 row (install version) module, based on latest date:
alter procedure [dbo].[installinfo_getlatest] -- add parameters stored procedure here @module int, @version nvarchar(50) out begin -- set nocount on added prevent result sets -- interfering select statements. set nocount on; set @version = '' -- insert statements procedure here select top 1 @version=[version] installinfo [module] = @module order installdate end
however, when run stored proc, error:
msg 8114, level 16, state 5, procedure installinfo_getlatest, line 0 error converting data type nvarchar int.
here how executing stored proc:
declare @module int set @module = 1 declare @versionout nvarchar(50) exec installinfo_getlatest module, @versionout output select @versionout 'v out'
found it: forgot @ sign
exec installinfo_getlatest @module, @versionout output
thanks !
Comments
Post a Comment