mssql存儲(chǔ)過程表名和字段名為變量的實(shí)現(xiàn)方法
更新時(shí)間:2011年11月15日 19:02:28 作者:
mssql存儲(chǔ)過程表名和字段名為變量的實(shí)現(xiàn)方法,需要的朋友可以參考下。
沒有使用動(dòng)態(tài)語(yǔ)句直接報(bào)錯(cuò)
錯(cuò)誤的
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,級(jí)別 15,狀態(tài) 1,過程 testpapers,第 1 行
關(guān)鍵字 'select' 附近有語(yǔ)法錯(cuò)誤。
消息 1087,級(jí)別 15,狀態(tài) 2,過程 testpapers,第 1 行
必須聲明表變量 "@tems"。
首先要讓表名或者字段為變量則要用到動(dòng)態(tài)語(yǔ)句
錯(cuò)誤的
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,級(jí)別 15,狀態(tài) 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
錯(cuò)誤的
復(fù)制代碼 代碼如下:
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,級(jí)別 15,狀態(tài) 1,過程 testpapers,第 1 行
關(guān)鍵字 'select' 附近有語(yǔ)法錯(cuò)誤。
消息 1087,級(jí)別 15,狀態(tài) 2,過程 testpapers,第 1 行
必須聲明表變量 "@tems"。
首先要讓表名或者字段為變量則要用到動(dòng)態(tài)語(yǔ)句
錯(cuò)誤的
復(fù)制代碼 代碼如下:
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,級(jí)別 15,狀態(tài) 2,第 1 行
必須聲明表變量 "@tems"。
將表名和字段名寫到exec里邊
正確的
復(fù)制代碼 代碼如下:
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
相關(guān)文章
SQL SERVER 將XML變量轉(zhuǎn)為JSON文本
這篇文章主要介紹了SQL SERVER 將XML變量轉(zhuǎn)為JSON文本的相關(guān)資料,需要的朋友可以參考下2016-03-03
SQL?server插入報(bào)錯(cuò):當(dāng)?IDENTITY_INSERT?設(shè)置為?OFF?時(shí)不能為表?‘XXX‘?
這篇文章主要介紹了SQL?server插入報(bào)錯(cuò):當(dāng)?IDENTITY_INSERT?設(shè)置為?OFF?時(shí),不能為表?‘XXX‘?中的標(biāo)識(shí)列插入顯式值的問題,該問題是給SQL server數(shù)據(jù)庫(kù)中的某個(gè)表插入數(shù)據(jù)引起的報(bào)錯(cuò),一般出現(xiàn)在該表為自增的情況下,本文給大家分享解決方法,需要的朋友可以參考下2023-09-09
sql server使用臨時(shí)存儲(chǔ)過程實(shí)現(xiàn)使用參數(shù)添加文件組腳本復(fù)用
這篇文章主要介紹了sql server通過臨時(shí)存儲(chǔ)過程實(shí)現(xiàn)使用參數(shù)添加文件組腳本復(fù)用,需要的朋友可以參考下2019-12-12
sql server中通過查詢分析器實(shí)現(xiàn)數(shù)據(jù)庫(kù)的備份與恢復(fù)方法分享
sql server中通過查詢分析器實(shí)現(xiàn)數(shù)據(jù)庫(kù)的備份與恢復(fù)方法分享,需要備份或還原數(shù)據(jù)庫(kù)的朋友可以參考下2012-05-05
記一次成功的sql注入入侵檢測(cè)附帶sql性能優(yōu)化
很多同學(xué)和園友都遇到過sql注入的,其中大部分都是代碼的不嚴(yán)謹(jǐn)造成的,都是犯過很多錯(cuò)誤才學(xué)會(huì)認(rèn)真起來2011-09-09
idea連接SQL?Server數(shù)據(jù)庫(kù)的詳細(xì)圖文教程
Idea的還有個(gè)強(qiáng)大之處就是連接數(shù)據(jù)庫(kù),就可以少開一個(gè)數(shù)據(jù)庫(kù)工具了,下面這篇文章主要給大家介紹了關(guān)于idea連接SQL?Server數(shù)據(jù)庫(kù)的詳細(xì)圖文教程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12
jdbc使用PreparedStatement批量插入數(shù)據(jù)的方法
這篇文章主要介紹了jdbc使用PreparedStatement批量插入數(shù)據(jù)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04

