Sqlserver 實際開發中表變量的用法


在實際的開發中,我們可能遇到的問題是,在一個存儲過程里面,我們可能要返回多段sql的結果集,但是最終怎么把多個結果集合成一塊呢,那么這個時候臨時表變量就來了

declare  @tmp table   --聲明表變量
(
id int identity(1,1),    --字段 必須和插入表變量里的數量一一對應
Name varchar(60),
[Description] varchar(60),
Category varchar(60)
)
insert @tmp
     select Book.Name,Book.[Description],Book.Category from Book
select * from  @tmp

這是正常的sql寫法,注意的是: select 到from中間的字段一定要和表變量里的字段一樣,順序,數量一一對應

下面是存儲過程的寫法:

create  proc P_getSelect
as
begin
declare  @tmp table  --聲明表變量
(
id int identity(1,1),
Name varchar(60),
[Description] varchar(60),
Category varchar(60)
)
insert @tmp
     select Book.Name,Book.[Description],Book.Category from Book

declare  @tmp2 table
(
id int identity(1,1),
Name varchar(60),
[Description] varchar(60),
Category varchar(60)
)
insert @tmp2     --聲明表變量2   這里為了方便  我把一個表的數據分別放到兩個表變量里了
     select Book.Name,Book.[Description],Book.Category from Book
     select t.*,tt.* from @tmp t ,@tmp2 tt

end

exec P_getSelect

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM