use tempdb
go
declare @queryYear smallint
declare @queryMonth smallint
declare @queryDay smallint
set @queryYear = 2005
set @queryMonth = 4
set @queryDay = 10
declare @strsql varchar(4000)
set @strsql = 'select @queryYear,@queryMonth,@queryDay'
exec(@strsql)
go
为什么运行的时候报错:
服务器: 消息 137,级别 15,状态 2,行 1
必须声明变量 '@queryYear'。
go
declare @queryYear smallint
declare @queryMonth smallint
declare @queryDay smallint
set @queryYear = 2005
set @queryMonth = 4
set @queryDay = 10
declare @strsql varchar(4000)
set @strsql = 'select @queryYear,@queryMonth,@queryDay'
exec(@strsql)
go
为什么运行的时候报错:
服务器: 消息 137,级别 15,状态 2,行 1
必须声明变量 '@queryYear'。
go
declare @queryYear smallint
declare @queryMonth smallint
declare @queryDay smallint
set @queryYear = 2005
set @queryMonth = 4
set @queryDay = 10
exec('select '+@queryYear+','+@queryMonth+','+@queryDay)
go
set @strsql = 'select '+@queryYear+','+'@queryMonth+','+@queryDay
go
declare @queryYear smallint
declare @queryMonth smallint
declare @queryDay smallint
set @queryYear = 2005
set @queryMonth = 4
set @queryDay = 10
declare @strsql varchar(4000)
set @strsql = 'select '+cast(@queryYear as varchar)+','+cast(@queryMonth as varchar)+','+cast(@queryDay as varchar)+''
exec(@strsql)
go