CREATE PROCEDURE pr_searchGoods(a varchar,b varchar)
as
BEGIN
DECLARE v_sql varchar(200);
set v_sql=concat('select * from tb_goods where ',a,'=\',b,'\' and available=1);
SET sql = v_sql;
PREPARE sl FROM sql;
EXECUTE sl;
DEALLOCATE PREPARE sl;
END
在SQL2005下没办法运行上面一段脚本,不知该怎么修改。请大家帮忙看看!
这是报的错误信息:
消息 102,级别 15,状态 1,过程 pr_searchGoods,第 1 行
'a' 附近有语法错误。
消息 155,级别 15,状态 2,过程 pr_searchGoods,第 4 行
'varchar2' 不是可以识别的 CURSOR 选项。
消息 102,级别 15,状态 1,过程 pr_searchGoods,第 9 行
'PREPARE' 附近有语法错误。
as
BEGIN
DECLARE v_sql varchar(200);
set v_sql=concat('select * from tb_goods where ',a,'=\',b,'\' and available=1);
SET sql = v_sql;
PREPARE sl FROM sql;
EXECUTE sl;
DEALLOCATE PREPARE sl;
END
在SQL2005下没办法运行上面一段脚本,不知该怎么修改。请大家帮忙看看!
这是报的错误信息:
消息 102,级别 15,状态 1,过程 pr_searchGoods,第 1 行
'a' 附近有语法错误。
消息 155,级别 15,状态 2,过程 pr_searchGoods,第 4 行
'varchar2' 不是可以识别的 CURSOR 选项。
消息 102,级别 15,状态 1,过程 pr_searchGoods,第 9 行
'PREPARE' 附近有语法错误。
语法好像不是MSSQL的
CREATE PROCEDURE pr_searchGoods(@a varchar,@b varchar)
as
BEGIN
DECLARE @v_sql varchar(200);
set @v_sql=concat('select * from tb_goods where '''+@a+'''='''+@b+''' and available=1');
SET @sql = @v_sql;
PREPARE sl FROM @sql;
EXECUTE sl;
DEALLOCATE PREPARE sl;
END 不知道是不是这个意思,但是sl是什么