还是变量的有关问题。

还是变量的问题。。SQL code/*------------------------declare@tblName varchar(255)-- 表名 declare@Sortf

还是变量的问题。。

SQL code
/*------------------------declare  @tblName varchar(255)   -- 表名 declare  @SortfldName varchar(255)  -- 排序字段名 declare  @oldId int -- 需要移动的IDdeclare  @newId int -- 需要移动对比的ID/***************************/set @oldId=10set @tblName='dbo.Mgc_ProjectIntroduce'/***************************/select  top 1 @newId= ProjectIntroduce_ID from @tblNamewhere ProjectIntroduce_Sort  >10order by ProjectIntroduce_Sort ascprint @oldIdprint @newId------------------------*/消息 1087,级别 15,状态 2,第 13 行必须声明表变量 "@tblName"。


[解决办法]
SQL code
--像表,列作為變量時,要用動態拼結後執行declare @oldId int,@tblName nvarchar(100)set @oldId=10set @tblName='dbo.Mgc_ProjectIntroduce'declare @sql nvarchar(1000)/***************************/select @sql=N'select  top 1 @newId= ProjectIntroduce_ID from '+@tblName+N' where ProjectIntroduce_Sort  >10order by ProjectIntroduce_Sort asc'exec sp_executesql @sql,N'@newId int output',@newId outputprint @oldIdprint @newId
[解决办法]
探讨
SQL code

/*------------------------
declare @tblName varchar(255) -- 表名

declare @SortfldName varchar(255) -- 排序字段名

declare @oldId int -- 需要移动的ID

declare @newId int -- 需要移动对比的ID

/*******……

[解决办法]
探讨
SQL code

--像表,列作為變量時,要用動態拼結後執行
declare @oldId int,@tblName nvarchar(100)
set @oldId=10
set @tblName='dbo.Mgc_ProjectIntroduce'
declare @sql nvarchar(1000)
/***************************/
select……

[解决办法]
把注释的部分放出来就好了!