沒有使用動態語句直接報錯
錯誤的
複製** **如下:
alter proc test*****s
as begin
dwww.cppcns.comeclare @tems nvarchar(max),@zidaun nvarchar(max)
set @tems=select * from @tems order by @zidaun
exec(@tems)
end
exec test*****s
訊息 156,級別 15,狀態 1,過程 test*****s,第 1 行
關鍵字 'select' 附近有語法錯誤。
消www.cppcns.com息 1087,級別 15,狀態 2,過程 test*****s,pghqaaob第 行
必須宣告表變數 "@tems"。
首先要讓表名或者欄位為變數則要用到動態語句
錯誤的
複製** **如下:
alter proc test*****s
as begin
declare @tems nvarchar(max),@zidaun nvarchar(max)
set @tems='select * from @tems order by @zidaun ';
exec(@tems)
e程式設計客棧nd
exec test*****s
訊息 1087,級別 15,狀態 2,第 1 行
必須宣告表變數 "@tems"。
將表名和欄位名寫到exec裡邊
正確的
複製** **如下:
alter proc test*****s
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 test*****s
本文標題: mssql儲存過程表名和欄位名為變數的實現方法
本文位址:
MSSQL列出庫裡面的所有表名和欄位名
use 資料庫 select a.name as 表名,b.name as 欄位名,b.length as 字段長度,c.name 字段型別 from select from sysobjects where xtype u a join syscolumns b on a.id b.id left...
oracle 將表名和欄位名變為大寫
當使用powerdesigner建立資料庫時要注意大小寫。注 以下指令碼在oracle 10g,11g上正確執行 1.批量將表名變為大寫 begin for c in select table name tn from user tables where table name upper table...
oracle將表名和欄位名變為大寫
oracle將表名和欄位名變為大寫 當使用powerdesigner建立 資料庫時要注意大小寫。注 以下指令碼在oracle 10g,11g上正確執行 批量將表名變為大寫 begin for c in select table name tn from user tables where table...