1 create procedure xx1
2 @Fcltable char(10),
3 @pzhm1 char(10),
4 @rq char(10)
5 declare @cltable2 char(10)
6 select @cltable2=@Fcltable
7 insert into (cltable2) (pzhm,rq) values (@pzhm1,@rq)想请问高手:
1 第6行的写法可不可行? 我只是想把变量值给@CLTABLE2
2 第7行出错,该如何写?即当表不定时,可不可以变量代替?
2 @Fcltable char(10),
3 @pzhm1 char(10),
4 @rq char(10)
5 declare @cltable2 char(10)
6 select @cltable2=@Fcltable
7 insert into (cltable2) (pzhm,rq) values (@pzhm1,@rq)想请问高手:
1 第6行的写法可不可行? 我只是想把变量值给@CLTABLE2
2 第7行出错,该如何写?即当表不定时,可不可以变量代替?
1 第6行的写法可不可行? 我只是想把变量值给@CLTABLE2
select @cltable2 = @fcltable 或 set @cltable2 = @fcltable2 第7行出错,该如何写?即当表不定时,可不可以变量代替?
insert into cltable2(pzhm,rq)
select @pzhm1,@rq
没有问题7
--try
insert into cltable2 (pzhm,rq) values (@pzhm1,@rq)
表不定不可以直接用变量,但是可以用动态语句提交给exec执行
"对象名'cltable2'无效"的错误
表不定不可以直接用变量,但是可以用动态语句提交给exec执行-----具体是在哪执行?
insert into cltable2 (pzhm,rq) values (@pzhm1,@rq)
如果这样也出错,原因可能是
1,表cltable2不存在
2,从你的语句看,@pzhm1,@rq这两个变量都未赋过值,此时都为NULL,如果表定义时设置pzhm,rq字段均not null,则也会报错
3,字段类型不一至,或字段值超出字段定义长度.如果表名用变量:declare @tb varchar(20)
exec ('insert ' + @tb + '(pzhm,rq) values(''' + @pzhm1 + ''',''' + @rq + ''')')