一个带参数拼接Sql语句的问题

uuuuu 2005-05-19 04:13:46
关键的条件-->DECLARE @OrderID INT

SET @SQL1='SELECT @OrderID=OrderID FROM '+@TableName1+' WHERE OrderingID='+Convert(varchar,@OrderingID)
EXEC(@SQL1)

我这样用,总是报@OrderID这边有问题,我试过用conver(varchar,@OrderID) 还是不行,请指教
...全文
167 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
631799 2005-05-19
  • 打赏
  • 举报
回复
DECLARE @OrderID INT
declare @SQL1 nvarchar(4000)
SET @SQL1='SELECT @OrderID=OrderID FROM '+@TableName1+' WHERE OrderingID='+Convert(varchar,@OrderingID)
EXEC sp_executesql @SQL1,N'@OrderID INT out',@OrderID out
select @OrderID
talantlee 2005-05-19
  • 打赏
  • 举报
回复

exec('SELECT '+@OrderID+'=OrderID FROM '+@TableName1+' WHERE OrderingID='+Convert(varchar,@OrderingID))
Well 2005-05-19
  • 打赏
  • 举报
回复
create procedure p_get
@OrderID INT output,
@TableName1 varchar(50),
@OrderingID int
as
SET @SQL1='SELECT @OrderID=OrderID FROM '+@TableName1+' WHERE OrderingID='+Convert(varchar,@OrderingID)
EXEC(@SQL1)

go
declare @orderid
exec p_get @orderid,'Tablename',2
select @orderid
Well 2005-05-19
  • 打赏
  • 举报
回复

SET @SQL1='SELECT @OrderID=OrderID FROM '+@TableName1+' WHERE OrderingID='+Convert(varchar,@OrderingID)
EXEC(@SQL1)

現在以上這種錯誤用output變量最沒有問題
rfq 2005-05-19
  • 打赏
  • 举报
回复
DECLARE @OrderID INT
declare @SQL1 varchar(1000)
declare @TableName1 varchar(100)
set @SQL1=''
set @TableName1='TabName'
SET @SQL1='SELECT @OrderID=OrderID FROM '+@TableName1+' WHERE OrderingID=Convert(varchar,@OrderingID)'
zjcxc 元老 2005-05-19
  • 打赏
  • 举报
回复
DECLARE @OrderID INT
declare @SQL1 nvarchar(4000) --注意类型

SET @SQL1='SELECT @OrderID=OrderID FROM '+@TableName1+' WHERE OrderingID='+Convert(varchar,@OrderingID)
EXEC sp_executesql @SQL1,N'@OrderID INT out',@OrderID out
Comer 2005-05-19
  • 打赏
  • 举报
回复
SET @SQL1='SELECT ' + str(@OrderID) + ' = OrderID FROM '+@TableName1+' WHERE OrderingID='+Convert(varchar,@OrderingID)

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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