主頁 > 知識庫 > sqlserver 動態(tài)創(chuàng)建臨時表的語句分享

sqlserver 動態(tài)創(chuàng)建臨時表的語句分享

熱門標(biāo)簽:鐵路電話系統(tǒng) AI電銷 呼叫中心市場需求 Linux服務(wù)器 地方門戶網(wǎng)站 百度競價排名 服務(wù)外包 網(wǎng)站排名優(yōu)化
因此計劃先把數(shù)據(jù)轉(zhuǎn)插入一個臨時表,再對臨時表的數(shù)據(jù)進行分析。
問題點是如何動態(tài)創(chuàng)建臨時表。原先Insus.NET使用下面代碼實現(xiàn):
復(fù)制代碼 代碼如下:

DECLARE @s NVARCHAR(MAX) = '
IF OBJECT_ID(''[dbo].[#Tb]'') IS NOT NULL
DROP TABLE [dbo].[#Tb]
CREATE TABLE [dbo].[#Tb]
(
[xxx] INT,
[xxx] NVARCHAR(50),
'+ [dbo].[Column]() + '
)'
EXECUTE(@s)


上面代碼中,有一個函數(shù)[dbo].[Column]() 是取得一系列動態(tài)字段。
其實,上面的代碼一點問題也沒有,是能正確動態(tài)創(chuàng)建一個臨時表,但是接下來代碼,我們無法再使用這個臨時表[dbo].[#Tb] ,因為run第10行代碼EXECUTE(@s)這動作之后,進程已經(jīng)結(jié)束了。這樣說法,動態(tài)創(chuàng)建出來的臨時表,也沒有什么意義了。
為了解決這個問題,Insus.NET想到了一個方法,算是能解決這個問題。既能動態(tài)創(chuàng)建,又能在創(chuàng)建之后,能繼續(xù)使用這個臨時表。

復(fù)制代碼 代碼如下:

IF OBJECT_ID('[dbo].[#Tb]') IS NOT NULL
DROP TABLE [dbo].[#Tb]
CREATE TABLE [dbo].[#Tb]
(
[xxx] INT,
[xxx] NVARCHAR(50)
)
DECLARE @tb NVARCHAR(MAX) = 'ALTER TABLE [dbo].[#Tb] ADD ' + [dbo].[Column]()
EXECUTE(@tb)


只要細心看了一下,就是可以知道,可以先按正常創(chuàng)建這個臨時表,再動態(tài)修改這個臨時表的字段。這樣做之后,程序run完第10行代碼之后,就能再繼續(xù)使用這個臨時表,如:
SELECT * FROM [dbo].[#Tb]
您可能感興趣的文章:
  • SQLServer中臨時表與表變量的區(qū)別分析
  • sql server創(chuàng)建臨時表的兩種寫法和刪除臨時表
  • sqlserver 臨時表的用法
  • sql server 臨時表 查找并刪除的實現(xiàn)代碼
  • sql server中判斷表或臨時表是否存在的方法
  • sqlserver 臨時表 Vs 表變量 詳細介紹
  • SQL Server 向臨時表插入數(shù)據(jù)示例
  • SQL Server 表變量和臨時表的區(qū)別(詳細補充篇)
  • sql server 創(chuàng)建臨時表的使用說明
  • SQL SERVER臨時表排序問題的解決方法

標(biāo)簽:黃山 仙桃 湖南 崇左 銅川 湘潭 蘭州 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《sqlserver 動態(tài)創(chuàng)建臨時表的語句分享》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266