国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

mssql存儲過程表名和字段名為變量的實現方法

2020-07-25 13:18:49
字體:
來源:轉載
供稿:網友
沒有使用動態語句直接報錯

錯誤的
復制代碼 代碼如下:

alter proc testpapers
as
begin
declare @tems nvarchar(max),@zidaun nvarchar(max)
set @tems=select * from @tems order by @zidaun
exec(@tems)
end
exec testpapers

消息 156,級別 15,狀態 1,過程 testpapers,第 1 行
關鍵字 'select' 附近有語法錯誤。
消息 1087,級別 15,狀態 2,過程 testpapers,第 1 行
必須聲明表變量 "@tems"。

首先要讓表名或者字段為變量則要用到動態語句

錯誤的
復制代碼 代碼如下:

alter proc testpapers
as
begin
declare @tems nvarchar(max),@zidaun nvarchar(max)
set @tems='select * from @tems order by @zidaun ';
exec(@tems)
end

exec testpapers

消息 1087,級別 15,狀態 2,第 1 行
必須聲明表變量 "@tems"。

將表名和字段名寫到exec里邊

正確的
復制代碼 代碼如下:

alter proc testpapers
as
begin
declare @startRow nvarchar(max),@tems nvarchar(max),@zidaun nvarchar(max)
set @startRow='temp'
set @tems='select * from ';
set @zidaun='p_id';
exec(@tems+@startRow+' order by '+@zidaun)
end

exec testpapers
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 工布江达县| 全南县| 甘南县| 烟台市| 珲春市| 体育| 德州市| 连州市| 武川县| 德昌县| 磴口县| 遵化市| 屯门区| 贵德县| 通渭县| 遵义市| 朝阳市| 温泉县| 钟山县| 紫金县| 泗阳县| 阿城市| 清镇市| 白朗县| 容城县| 临江市| 长岛县| 高淳县| 慈溪市| 本溪| 富民县| 怀宁县| 方正县| 蒙山县| 建湖县| 遵义市| 广元市| 崇信县| 阿拉善左旗| 连江县| 阳曲县|