成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何實現SQL Server臨時表的創建?

數據庫 SQL Server
本文主要向你介紹的是SQL Server臨時表的創建時,我們所要用到的實際操作代碼以及在實際操作中我們應注意的事項的描述。

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

 

  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臨時表的創建中取表列表

 

  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 

欄位出現'*'

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

 

SQL Server臨時表的創建中我們要取欄位個數

 

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

 

取欄位名稱,欄位類型,長度,精度,小數位

  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 

以上的相關內容就是對SQL Server臨時表的創建的介紹,望你能有所收獲。

【編輯推薦】

  1. 正確識別SQL Server 版本號的操作方案
  2. 正確構建SQL Server數據庫的可管理安全機制
  3. SQL Server子查詢的作用是什么?
  4. SQL Server 數據庫中管理常用的SQL與T-SQL
  5. SQL Server業務規則的鏈接技術之探討
責任編輯:佚名 來源: 新浪博客
相關推薦

2010-10-19 14:45:01

SQL SERVER臨

2009-03-18 10:56:29

生命周期全局臨時表SQL Server

2010-09-16 15:03:10

SQL Server臨

2010-09-16 17:56:31

SQL server臨

2010-07-01 14:11:40

SQL Server內

2021-01-18 05:23:14

SQL 排序Server

2010-07-22 16:02:29

2010-09-16 15:10:48

SQL Server表

2010-07-08 14:42:34

SQL Server臨

2010-10-19 15:25:05

Sql Server臨

2011-03-29 13:22:07

SQL Server臨時表表變量

2010-09-02 16:28:03

SQL刪除

2010-07-22 15:56:04

SQL Server臨

2011-09-02 14:45:43

Oracle臨時表SQL Server臨

2010-10-19 14:56:05

sql server臨

2011-04-13 13:56:52

Oracle臨時表

2010-11-11 10:41:03

sql server遍

2010-11-11 09:20:46

SQL Server創

2010-07-08 14:24:21

SQL Server

2010-10-19 15:31:40

sql server觸
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本欧美视频 | 国产精品久久久久久久白浊 | 在线观看亚洲精品 | 国产一区二区三区日韩 | 九色国产 | 欧美成人一区二区三区片免费 | 国产精品1区2区3区 国产在线观看一区 | 精品欧美一区二区在线观看欧美熟 | 国产精品久久久久久久久久久久 | 精品av天堂毛片久久久借种 | 91久久国产综合久久91精品网站 | 久久婷婷av | 九九热免费看 | 综合一区二区三区 | 国内精品伊人久久久久网站 | 国产午夜精品久久久 | 爱草在线| 中文字幕1区2区 | 欧美精品在欧美一区二区 | 欧美一二三四成人免费视频 | 亚洲精品久 | 天天干天天干 | 久草网在线视频 | 99精品九九| 国产999精品久久久影片官网 | 精品国产乱码一区二区三区a | 麻豆久久 | 国产三区在线观看视频 | 久久久精品视频免费看 | 久久精品黄色 | 天天操天天插 | 中文字幕日本一区二区 | 国产精品久久二区 | 国产精品视频久久 | 欧美黄 片免费观看 | 一级a性色生活片久久毛片 一级特黄a大片 | 成人av一区二区三区 | 国产精品久久国产精品 | 日本精品在线观看 | 精品久久久久久久久久久久久久 | 91精品国产综合久久久久久 |