日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SQLserver動態(tài)查詢的實際操作步驟

此文章主要是向大家講述的是SQL server 動態(tài)查詢,與獲取想得到的返回值的結(jié)果,在編寫sql語句或是存儲過程的實際操作過程中,一般的情況下都會遇到語句中表名或某一字段名不確定,要根據(jù)條件來。

創(chuàng)新互聯(lián)公司是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、重慶小程序開發(fā)、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立10多年以來,已經(jīng)為近千家成都木托盤各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)?,F(xiàn)在,服務(wù)的近千家客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。

這時,我們可考慮用SQL 提供的sp_executesql 函數(shù),,他可執(zhí)行動態(tài)的修改,刪除,查詢功能,至于此函數(shù)的詳細(xì)解釋可到sql幫助文檔中去查看,下面我將舉一個SQL server 動態(tài)查詢的列子,包括表名及想查詢的字段均不確定:

 
 
 
  1. tab: 
  2. (ID int) (A numeric(9,2)) (B numeric(9,2)) 
  3. 1 20.30 33.12 
  4. 2 34.32 22.66 
  5. 3 45.54 99.19 

完成任務(wù):

在不確定表名,及查詢字段的情況下,根據(jù)傳入的表名及字段及查詢條件,獲得對應(yīng)返回結(jié)果:

1.seq條件

2.字段名稱(A或B)

3.表名

要求函數(shù)返回值類型為numeric(9,2), 列如根據(jù)輸入?yún)?shù)2取對應(yīng)字段的值返回

做法如下:

 
 
 
  1. declare @tab varchar(10), @rowname varchar(10) ,@seq int 
  2. declare @sql Nvarchar(1000) 
  3. declare @v numeric(9,2) 
  4. set @rowname='A'; 
  5. set @seq=2 ; 
  6. set @tab='tab'; 
  7. set @sql='select @a='+@rowname+' from '+@tab+' where id='+rtrim(@seq) 
  8. exec sp_executesql @sql,N'@a numeric(9,2) output',@v output 
  9. select @v 

結(jié)果

34.32

提醒:

對于動態(tài)表名及字段使用非常簡單,但獲取結(jié)果使用動態(tài)語句是有一定規(guī)則的,如上面的列子,需要把表名聲明成Nvarchar的,然后執(zhí)行動態(tài)語句時,聲明其動態(tài)語句中變量前也要加N ,如N'@a

 
 
 
  1. numeric(9,2) output' 

以上的相關(guān)內(nèi)容就是對SQL server 動態(tài)查詢的介紹,望你能有所收獲。


標(biāo)題名稱:SQLserver動態(tài)查詢的實際操作步驟
文章URL:http://www.dlmjj.cn/article/djisicj.html