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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
TOP字句加SQL變量的相關(guān)問題

SQL Server數(shù)據(jù)庫中的變量可以加載TOP字句之后,下文將對TOP字句加SQL變量的相關(guān)問題進行討論,供您參考,希望對您學習SQL數(shù)據(jù)庫有所幫助。

10年積累的做網(wǎng)站、成都網(wǎng)站建設(shè)經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有絳縣免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

SQL Server2005開始,TOP子句后可以跟常量或者變量,跟常量時可省略括號,即top(2)和top 2是等價的(注意不加括號時top和2間的空格),top后使用SQL變量時必須使用括號,例:
Sql代碼
declare @num int  
set @num = 10   
select top(@num) * from sys.tables

declare @num int
set @num = 10
select top(@num) * from sys.tables

使用動態(tài)SQL為:
Sql代碼
declare @num int  
set @num = 10   
declare @str nvarchar(1000)   
set @str = 'select top('+cast(@num as nvarchar(10))+') * from sys.tables'  
exec(@str)

declare @num int
set @num = 10
declare @str nvarchar(1000)
set @str = 'select top('+cast(@num as nvarchar(10))+') * from sys.tables'
exec(@str)

關(guān)于exec的一些備注:
1.使用exec命令時,括號中只允許包含一個字符變量,或者一個字符串文本,或者字符串變量與字符串文本的串聯(lián)。不能在括號中使用函數(shù)或CASE表達式,所以最好將代碼放在一個變量中,再把此SQL變量作為exec命令的參數(shù)
2.exec()不提供接口,因此動態(tài)批處理不能訪問在調(diào)用批處理中定義的局部變量,必須把變量內(nèi)容串聯(lián)到字符串中,就像上面的例子一樣。上面動態(tài)SQL的例子如果寫為 Sql代碼
set @str = 'select top('+@num +') * from sys.tables';   
exec(@str)

set @str = 'select top('+@num +') * from sys.tables';
exec(@str)
則會報錯
3.同樣的exec也不支持輸出參數(shù),如果要把輸入放進一個SQL變量,必須先把輸入插入一個目標表,然后再從目標表例取值賦給該變量

【編輯推薦】

Transact-SQL變量的聲明

設(shè)置Transact-SQL變量中的值

SQL變量定義賦值及調(diào)用

SQL中的指示變量及數(shù)組變量

SQL中系統(tǒng)變量的應用實例


網(wǎng)站名稱:TOP字句加SQL變量的相關(guān)問題
本文路徑:http://www.dlmjj.cn/article/dphhpie.html