34,590
社区成员
发帖
与我相关
我的任务
分享
DECLARE @TableName VARCHAR(50),@Sql NVARCHAR(MAX),@OrderID int , @a varchar(100)
SET @TableName = 'Orders';
SET @OrderID=10251;
SET @a = 'SELECT * FROM '+QUOTENAME(@TableName) +'WHERE OrderID = @OrderID ORDER BY ORDERID DESC'
SET @Sql = 'SELECT * FROM '+QUOTENAME(@TableName) +'WHERE OrderID = '+CAST(@OrderID AS VARCHAR(10))+' ORDER BY ORDERID DESC'
PRINT @a
PRINT @Sql
SELECT * FROM [Orders]WHERE OrderID = @OrderID ORDER BY ORDERID DESC
SELECT * FROM [Orders]WHERE OrderID = 10251 ORDER BY ORDERID DESC
中间为啥要将变量转换一下。