当前位置: 代码迷 >> Sql Server >> Sql中变量的运用
  详细解决方案

Sql中变量的运用

热度:31   发布时间:2016-04-27 11:32:05.0
Sql中变量的使用
Create Procedure Test
  @TestID As Int
As

Declare @s Varchar(800)
Set @s=' '
Set @s='Create View DataL As Select CValue,Dvalue,RValue From TblRecord Where [email protected]'
exec(s)

@TestID该怎么传?

------解决方案--------------------
Set @s='Create View DataL As Select CValue,Dvalue,RValue From TblRecord Where [email protected]'
改成
Set @s='Create View DataL As Select CValue,Dvalue,RValue From TblRecord Where [email protected]

------解决方案--------------------
SQL code
Create Procedure  Test   @TestID As IntAsDeclare @s Varchar(800)Set @s=''Set @s='Create View DataL As Select CValue,Dvalue,RValue From TblRecord Where TestID='+  ''''+cast(@TestID as varchar)+''''  exec(s)
------解决方案--------------------
create Procedure Test
@TestID int
as
declare @s Varchar(800)
Set @s=''
Set @s='Create View DataL As Select CValue,Dvalue,RValue From TblRecord Where TestID='''+cast(@TestID as varchar)+''''
exec(@s)

------解决方案--------------------
运用northwind数据库
Create Procedure Test
 @TestID int
As
Declare @s nvarchar(800)
Set @s='Select * From dbo.Categories where CategoryID='''+cast(@TestID as varchar)+''''
print @s
exec(@s) 

exec Test @TestID=1

在sql 2005上可正确执行。
------解决方案--------------------
动态SQL中,int类型的参数必须转换成varchar。
  相关解决方案