declare @s varchar(1000)
set @s=
'declare @e int,@f int,@g int
select @e=,@f=,@g=
insert into TB1 select n.e,n.f,n.g from TB2 m where (@e=m.e and @f=m.f and @g=m.g) and m.a-m.b!=n.a-n.b'
exec(@s)我的问题是这样的:
能不能在@s之前对@e、@f、@g进行声明并赋值,然后在@s中引用这三个变量。请各位大虾给予指点,先谢谢!
set @s=
'declare @e int,@f int,@g int
select @e=,@f=,@g=
insert into TB1 select n.e,n.f,n.g from TB2 m where (@e=m.e and @f=m.f and @g=m.g) and m.a-m.b!=n.a-n.b'
exec(@s)我的问题是这样的:
能不能在@s之前对@e、@f、@g进行声明并赋值,然后在@s中引用这三个变量。请各位大虾给予指点,先谢谢!
declare @e int,@f int,@g int
set @e = 0,@f=0,@g =0
set @s = 'insert into TB1 select n.e,n.f,n.g from TB2 m where (@e=m.e and @f=m.f and @g=m.g) and m.a-m.b!=n.a-n.b';
exec(@s);
declare @e int,@f int,@g int
set @s=
'insert into TB1
select n.e,n.f,n.g from TB2 m
where (@e=m.e and @f=m.f and @g=m.g) and m.a-m.b!=n.a-n.b'
exec sp_executesql @s,N'@e int,@f int,@g int',@e=? ,@f=?,@g=?
set @i=5
exec('select ID,Name from sysobjects where ID='+@i)set @s='select ID,Name from sysobjects where ID=@i'
exec sp_executesql @s,N'@i int',@i--此处输入参数要加上N
这个是语法
declare @s nvarchar(1000)
declare @e int,@f int,@g int
set @s=
'insert into TB1
select n.e,n.f,n.g from TB2 m
where (@e=m.e and @f=m.f and @g=m.g) and m.a-m.b!=n.a-n.b'
exec sp_executesql @s,N'@e int,@f int,@g int',@e=? ,@f=?,@g=?
declare @ee int,@ff int,@gg int
select @ee=1,@ff=1,@gg=1,
@s=N'insert into TB1 select n.e,n.f,n.g from TB2 m where (@e=m.e and @f=m.f and @g=m.g) and m.a-m.b!=n.a-n.b'
exec sp_executesql @s,N'@e int,@f int,@g int',@e=@ee,@f=@ff,@g=@gg
declare @e int,@f int,@g int
set @e=5
set @f=6
set @g=7
set @s=
'insert into TB1
select n.e,n.f,n.g from TB2 m
where (@e1=m.e and @f1=m.f and @g1=m.g) and m.a-m.b!=n.a-n.b'
exec sp_executesql @s,N'@e int,@f int,@g int',@e1=@e ,@f1=@f,@g1=@g
set @s=N'insert into TB1 select n.e,n.f,n.g from TB2 m where (@e=m.e and @f=m.f and @g=m.g) and m.a-m.b!=n.a-n.b'
set @p='@e int,@f int,@g int'
exec sp_executesql @s,@p,@e=1,@f=2,@g=3