mssql儲存過程表名和欄位名為變數的實現方法

2022-09-25 01:51:12 字數 1205 閱讀 1709

沒有使用動態語句直接報錯

錯誤的

複製** **如下:

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...