else set @s4= ' '
if @GGXH <> ' '
set @s5 = ' AND 规格型号 like ' '% '+@GGXH+ '% ' ' '
else set @s5= ' '
set @str=@strsql+@s1+@s2+@s3+ ') '+ ' AND 1=1 '+@s4+@s5
-- SELECT @STR INTO #TT FROM exec ( @str )
insert into #Stock (物料编码 ,产品名称 ,规格型号 ,数量 ,单位 ,单价 ,金额 ,税率 ,税额 )
exec ( @str )
select * from #Stock
DROP TABLE #stock
-- EXEC TJTH_TJ_CP ' ', ' ', ' ', '2007 ', '1 '
------解决方案--------------------set @str= 'insert into #Stock (物料编码,产品名称,规格型号,数量,单位,单价,金额,税率,税额) '+@str+ '
select * from #Stock '
exec(@str)
------解决方案--------------------括号是全角的。
你可以先把@str 打印出来看看。
------解决方案--------------------这个问题的话,我觉得很简单啊
第一先不要返回结果,先在每步把动态的sql先print出来,确定符合预期了,然后 exec
------解决方案--------------------语法错误的话,我觉得print语句出来看看
------解决方案--------------------ALTER PROCEDURE TJTH_TJ_CP
(
@DWMC varchar(50) ,
@CPMC varchar(50),
@GGXH varchar(50),
@iYear varchar(50),
@iMonth varchar(50)
)
的参数不用括号,还有就是括号不是英文状态下书写的吧!
------解决方案--------------------我很讨厌sql语句中加入全角字符报错。
------解决方案--------------------print语句出来看看,单引号没加对。
------解决方案--------------------括号好象都是中文状态下的(,
insert into #Stock (物料编码 ,产品名称 ,规格型号 ,数量 ,单位 ,单价 ,金额 ,税率 ,税额 )
上面这句话的左括号才是英文状态下的括号!
呵呵,改一下呵~应该是这里的问题!
------解决方案--------------------全角(物料编码)
半角(物料编码)
楼主请看哈~
------解决方案--------------------奇怪!!和楼主发的也不一样啊!!
全角的括号很黑哦~~~呵呵!!
可以断定括号不是全角的!!
后来我copy到查询分析器里,发现果然都是正常的括号。
而我运行之后显示的确实命令已成功完成!
没问题呀~~~:(