sqlserver 动态创建临时表的语句分享

因此计划先把数据转插入一个临时表,再对临时表的数据进行分析。

问题点是如何动态创建临时表。原先Insus.NET使用下面代码实现:

复制代码 代码如下:

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)

上面代码中,有一个函数[dbo].[Column]() 是取得一系列动态字段。

其实,上面的代码一点问题也没有,是能正确动态创建一个临时表,但是接下来代码,我们无法再使用这个临时表[dbo].[#Tb] ,因为run第10行代码EXECUTE(@s)这动作之后,进程已经结束了。这样说法,动态创建出来的临时表,也没有什么意义了。

为了解决这个问题,Insus.NET想到了一个方法,算是能解决这个问题。既能动态创建,又能在创建之后,能继续使用这个临时表。

复制代码 代码如下:

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)

只要细心看了一下,就是可以知道,可以先按正常创建这个临时表,再动态修改这个临时表的字段。这样做之后,程序run完第10行代码之后,就能再继续使用这个临时表,如:

SELECT * FROM [dbo].[#Tb]

时间: 2024-12-17 21:05:10

sqlserver 动态创建临时表的语句分享的相关文章

sqlserver 动态创建临时表的语句分享_MsSql

因此计划先把数据转插入一个临时表,再对临时表的数据进行分析. 问题点是如何动态创建临时表.原先Insus.NET使用下面代码实现: 复制代码 代码如下: 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]() +

javascript元素动态创建实现方法

  本文实例讲述了javascript元素动态创建实现方法.分享给大家供大家参考.具体分析如下: document.write只能在页面加载过程中才能动态创建 可以调用document的createElement方法来创建具有指定标签的DOM对象,然后通过调用元素的appendChild方法将 新创建元素添加到相应的元素下 举例如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <html xmlns="http://www.w

rails的migrate如何动态创建字段?

问题描述 有一个表是这种结构,user_id,item_1,item_2,item_3,....item_180想问问使用rails的migrate进行定义的时候,有没有比较简单的动态创建办法?尝试了这种写法:count=1 until count>181 do t.integer :item_'+count.to_s count = count+1 end运行的时候,报错,意思是,undefined method `+' 目前找到的一种比较笨的方法是,将这种动态创建字段的语句放到migrate

javascript元素动态创建实现方法_javascript技巧

本文实例讲述了javascript元素动态创建实现方法.分享给大家供大家参考.具体分析如下: document.write只能在页面加载过程中才能动态创建 可以调用document的createElement方法来创建具有指定标签的DOM对象,然后通过调用元素的appendChild方法将 新创建元素添加到相应的元素下 举例如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-e

c程序中如何动态创建db2临时表

问题描述 c程序中如何动态创建db2临时表 c程序中如何动态创建db2临时表?因为where条件是动态可变,需要查阅2-4张表中数据,因此想做个临时表,根据动态的where条件,动态生成临时表,这样提高查询效率.不知程序中应该怎么写,求助各位大神,谢谢!

游标 sqlserver-存储过程创建临时表(表名是动态的),游标中使用了这一个临时表

问题描述 存储过程创建临时表(表名是动态的),游标中使用了这一个临时表 ALTER PROCEDURE [dbo].[P_GetBusLocation] @Date1 datetime AS BEGIN SET NOCOUNT ON; declare @VehicleNo nvarchar(50),@VGroupID int,@RouteNumber varchar(200),@TableName varchar(50),@VehicleID bigint , @OldVehicleID big

mysql 创建与删除临时表sql语句

临时表可能是非常有用的,在某些情况下,保持临时数据.最重要的是应该知道的临时表是,他们将当前的客户端会话终止时被删除 当你创建临时表的时候,你可以使用temporary关键字.如:  代码如下 复制代码 create temporary table tmp_table(name varchar(10) not null,passwd char(6) not null)' 或 CREATE TEMPORARY TABLE IF NOT EXISTS sp_output_tmp ENGINE = M

java调用存储过程-Java执行删除/创建临时表的存储过程时,获取的影响行数总是-1,求大师指点

问题描述 Java执行删除/创建临时表的存储过程时,获取的影响行数总是-1,求大师指点 如题所述,使用Java代码执行删除.创建临时表的存储过程时总是执行不成功(不报错, 但是获取的影响行数为-1),别的存储过程都可以执行成功,求大师指点啊, 存储过程和Java代码如下: 1.存储过程代码 ALTER PROCEDURE [dbo].[PROC_TEMP] AS BEGIN if object_id('tempdb..##temp') is not null Begin DROP TABLE #

php运行时动态创建函数的方法

 这篇文章主要介绍了php运行时动态创建函数的方法,涉及php流程语句与create_function函数的使用技巧,需要的朋友可以参考下     本文实例讲述了php运行时动态创建函数的方法.分享给大家供大家参考.具体分析如下: 一般的语言函数必须定义了在运行,而php支持在运行时动态创建函数,下面是一个简单的范例,在运动时根据不同的条件创建函数$a ? 1 2 3 4 5 6 7 8 9 10 11 <?php if (count($_POST) > 0) { $prepped = cre