国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

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

2024-08-31 00:57:51
字體:
供稿:網(wǎng)友
因此計(jì)劃先把數(shù)據(jù)轉(zhuǎn)插入一個臨時表,再對臨時表的數(shù)據(jù)進(jìn)行分析。
問題點(diǎn)是如何動態(tài)創(chuàng)建臨時表。原先Insus.NET使用下面代碼實(shí)現(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)字段。
其實(shí),上面的代碼一點(diǎn)問題也沒有,是能正確動態(tài)創(chuàng)建一個臨時表,但是接下來代碼,我們無法再使用這個臨時表[dbo].[#Tb] ,因?yàn)閞un第10行代碼EXECUTE(@s)這動作之后,進(jìn)程已經(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)



只要細(xì)心看了一下,就是可以知道,可以先按正常創(chuàng)建這個臨時表,再動態(tài)修改這個臨時表的字段。這樣做之后,程序run完第10行代碼之后,就能再繼續(xù)使用這個臨時表,如:
SELECT * FROM [dbo].[#Tb]
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 乡宁县| 油尖旺区| 宾阳县| 兰考县| 怀来县| 邢台市| 古浪县| 新和县| 桑日县| 晋宁县| 凤台县| 重庆市| 长海县| 清苑县| 东方市| 曲水县| 达拉特旗| 神农架林区| 元氏县| 全椒县| 禹城市| 达州市| 日土县| 兴山县| 阳谷县| 建水县| 涡阳县| 武鸣县| 仙桃市| 江源县| 绥化市| 筠连县| 柳州市| 桐柏县| 洛川县| 安岳县| 噶尔县| 辛集市| 平邑县| 邵阳市| 广汉市|