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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何實現(xiàn)SQLServer臨時表的創(chuàng)建?

以下的文章主要是對SQL Server臨時表的創(chuàng)建的實際操作步驟,以及在實際操作中我們要用到的實際應用代碼的介紹,我在一個信譽度很好的網(wǎng)站找到一個關于其相關內(nèi)容今天拿出來供大家分享。

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設,淅川企業(yè)網(wǎng)站建設,淅川品牌網(wǎng)站建設,網(wǎng)站定制,淅川網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,淅川網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

 
 
 
  1. Create Table #Test(a int) 

如果傳來的SELECT語句不是以'select'開頭,自動修改

 
 
 
  1. If Left(Lower(Ltrim(@Select_Command)),6) <> 'select' Select @Select_Command = 'Select ' + @Select_Command 

將開頭‘SELECT’去掉

 
 
 
  1. Select @Select_Command_Temp = Lower(Ltrim(@Select_Command))  
  2. If Left(@Select_Command_Temp,6) = 'select' Select @Select_Command_Temp = Right(@Select_Command_Temp,Len(@Select_Command_Temp) - 7) 

取各保留字位置,以便獲得表的列表

 
 
 
  1. Select @From_Pos = CHARINDEX(' from ',@Select_Command_Temp)  
  2. Select @Where_Pos = CHARINDEX(' where ',@Select_Command_Temp)  
  3. Select @Having_Pos = CHARINDEX(' having ',@Select_Command_Temp)  
  4. Select @Groupby_Pos = CHARINDEX(' groupby ',@Select_Command_Temp)  
  5. Select @Orderby_Pos = CHARINDEX(' orderby ',@Select_Command_Temp)  
  6. If @Where_Pos > 0 Select @Temp_Pos = @Where_Pos  
  7. If @Having_Pos > 0 And @Having_Pos < @Temp_Pos Select @Temp_Pos = @Having_Pos  
  8. If @Groupby_Pos > 0 And @Groupby_Pos < @Temp_Pos Select @Temp_Pos = @Groupby_Pos  
  9. If @Orderby_Pos > 0 And @Orderby_Pos < @Temp_Pos Select @Temp_Pos = @Orderby_Pos  
  10.  

SQL Server臨時表的創(chuàng)建中取表列表

 
 
 
  1. If @Temp_Pos > 0  
  2. Begin  
  3. Select @Table_List = SUBSTRING(@Select_Command_Temp,@From_Pos + 6 ,@Temp_Pos - @From_Pos - 1)  
  4. End  
  5. Else  
  6. Begin  
  7. Select @Table_List = SUBSTRING(@Select_Command_Temp,@From_Pos + 6 ,Len(@Select_Command_Temp) - @From_Pos - 1)  
  8. End  
  9. Select @Column_Syntax = '' 
  10.  

只列出欄位

 
 
 
  1. Select @Select_Command_Temp = Left(@Select_Command_Temp,@From_Pos - 1)  
  2. While Len(@Select_Command_Temp) > 0   
  3. Begin 

取逗號位置

 
 
 
  1. Select @Temp_Pos = CHARINDEX(',',@Select_Command_Temp) 

初次取欄位名稱

 
 
 
  1. If @Temp_Pos > 0  
  2. Begin  
  3. Select @Column_Name = Left(@Select_Command_Temp,@Temp_Pos - 1)  
  4. End  
  5. Else  
  6. Begin  
  7. Select @Column_Name = @Select_Command_Temp  
  8. End 

取表名和欄位名(可能是‘*’)

 
 
 
  1. If CHARINDEX('.',@Column_Name) > 0  
  2. Begin  
  3. Select @Table_Name = Left(@Column_Name,CHARINDEX('.',@Column_Name) - 1)  
  4. Select @Column_Name = Right(@Column_Name,Len(@Column_Name) - CHARINDEX('.',@Column_Name))  
  5. End   
  6. Else  
  7. Begin  
  8. Select @Table_Name = @Table_List  
  9. End 

欄位出現(xiàn)'*'

 
 
 
  1. If CHARINDEX('*',@Column_Name) > 0  
  2. Begin  
  3. Select @Column_Name = '' 
  4. Select @Loop_Seq = 1 

SQL Server臨時表的創(chuàng)建中我們要取欄位個數(shù)

 
 
 
  1. Select @Column_Count = Count(*)  
  2. From SysColumns  
  3. Where Id = Object_Id(@Table_name)  
  4. While @Loop_Seq <= @Column_Count  
  5. Begin 

取欄位名稱,欄位類型,長度,精度,小數(shù)位

 
 
 
  1. Select @Column_Name_Temp = SysColumns.Name,  
  2. @Column_Type_Temp = Lower(SysTypes.Name),  
  3. @Column_Length_Temp = SysColumns.Length,  
  4. @Column_Xprec_Temp = SysColumns.Xprec,  
  5. @Column_Xscale_Temp = SysColumns.Xscale  
  6. From SysColumns,SysTypes  
  7. Where SysColumns.Id = Object_Id(@Table_name) And  
  8. SysColumns.Colid = @Loop_Seq And  
  9. SysColumns.XuserType = SysTypes.XuserType 

形成欄位語法表達式

 
 
 
  1. Select @Column_Syntax_Temp = Case When @Column_Type_Temp In ('datetime','image','int') Then @Column_Name_Temp + ' ' + @Column_Type_Temp 

以上的相關內(nèi)容就是對SQL Server臨時表的創(chuàng)建的介紹,望你能有所收獲。


本文標題:如何實現(xiàn)SQLServer臨時表的創(chuàng)建?
本文網(wǎng)址:http://www.dlmjj.cn/article/dhpecpp.html