简单的存储过程问题

windala 2003-08-01 09:44:10
失败
1.
create proc sp_query_Goods
@para1 varchar(30),

@sign1 varchar(8)

--@mypara1 varchar(30)

AS

DECLARE @strSql varchar(400)
/*SET @strSql='select * from GOODS WHERE '+@para1+@sign1+'"'+'sdf'+'"'*/
SET @strSql='select * from GOODS WHERE '+@para1+@sign1+'"'+'sdf'+'"'
exec(@strSql)
-----------------------------------------------------
2.
exec sp_query_Goods 'GOODS_UNIT','='

------------------------------------------------
3.
执行成功!!
declare @aa varchar(30)
set @aa='sdf'
SELECT * FROM GOODS WHERE GOODS_UNIT=@aa

1中是我创建的存储过程,字段名、运算符号、参数等都要自己传入。可是一执行就失败!!。请教该如何修改该存储过程。问题应该是在'sdf'那里,是不是要加转义字符之类的。
...全文
32 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2003-08-01
  • 打赏
  • 举报
回复
知道了?

那我就不再啰嗦了.
woyaofengle 2003-08-01
  • 打赏
  • 举报
回复
sorry,please try below:
create proc sp_query_Goods
@para1 varchar(30),

@sign1 varchar(8)
as
DECLARE @strSql varchar(400)
/*SET @strSql='select * from GOODS WHERE '+@para1+@sign1+'"'+'sdf'+'"'*/
SET @strSql='select * from GOODS WHERE '+@para1+@sign1+'''sdf'''
exec(@strSql)
woyaofengle 2003-08-01
  • 打赏
  • 举报
回复
create proc sp_query_Goods
@para1 varchar(30),

@sign1 varchar(8)

--@mypara1 varchar(30)

AS

DECLARE @strSql varchar(400)
/*SET @strSql='select * from GOODS WHERE '+@para1+@sign1+'"'+'sdf'+'"'*/
SET @strSql='select * from GOODS WHERE '+@para1+@sign1+'"'+'sdf'+'"'
exec(@strSql)
-----------------------------------------------------
2.
exec sp_query_Goods 'GOODS_UNIT','='


change into:
create proc sp_query_Goods
@para1 varchar(30),

@sign1 varchar(8)

--@mypara1 varchar(30)

AS

DECLARE @strSql varchar(400)
/*SET @strSql='select * from GOODS WHERE '+@para1+@sign1+'"'+'sdf'+'"'*/
SET @strSql='select * from GOODS WHERE '+@para1+@sign1+''sdf''
exec(@strSql)
-----------------------------------------------------
2.
exec sp_query_Goods 'GOODS_UNIT','='
CrazyFor 2003-08-01
  • 打赏
  • 举报
回复
TRY:


create proc sp_query_Goods
@para1 varchar(30),

@sign1 varchar(8)

--@mypara1 varchar(30)

AS

DECLARE @strSql varchar(400)
/*SET @strSql='select * from GOODS WHERE '+@para1+@sign1+''''+'sdf'+''''*/
SET @strSql='select * from GOODS WHERE '+@para1+@sign1+''''+'sdf'+''''
txlicenhe 2003-08-01
  • 打赏
  • 举报
回复
那恭喜了
windala 2003-08-01
  • 打赏
  • 举报
回复
知道了。

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧