N
nzfsoft
Unregistered / Unconfirmed
GUEST, unregistred user!
/*用来返还所有记录中物品的种类(通过3个关键字的关联) */
/*输入参数:tabName 表的名称*/
CREATE PROCEDURE GoodsInfo
@MyTabName varchar(20) ,
@SiteCode smallint=0 /*条件字段
AS
declare @MySql varchar(200)
set @MySql="SELECT DISTINCT symbol+ ' '+ str([no]) +' ' + StartStationName as GoodsInfo FROM "+ @MyTabName +" where site ="+@SiteCode
Exec(@MySql)
GO
我的调用 是goodsinfo 'package_s',1003
可是报错:
将VARchar值 'SELECT DISTINCT Symbol + ' ' + STR([No]) + ' ' + StartStationName AS GoodsInfo
FROM Package_S WHERE (Site = '在转换为数据类型为smallint的列时发生语法错误。
(site字段是smallint型的。)
如果我直接执行SQL:
SELECT DISTINCT Symbol + ' ' + STR([No]) + ' ' + StartStationName AS GoodsInfo
FROM Package_S
WHERE (Site = 1003)
就一点问题也没有。
为什么?