sql - How can I select the top 1 column value into a variable? -


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