temp-tables相关内容
我和另一位开发人员正在讨论哪种类型的表格更适合我们的任务.它基本上将成为我们将在一天结束时截断的缓存.就个人而言,我认为没有任何理由为此使用普通表以外的任何其他东西,但他想使用全局临时表. 两者有什么优势吗? 解决方案 在 tempdb 中使用普通表,如果这只是临时数据,您可以承受在服务重启或用户数据库时丢失数据不是那么短暂. tempdb 在日志记录要求方面稍微更有效.
..
我有一个 TSQL 存储过程 tsql__sp__A,它可以做两件事: (a) 创建一个临时表 #tempTable,其中包含来自复杂 SELECT 查询的 SELECT 数据. (b) 为对行参数进行计算的每一行调用 CLR 托管存储过程 clr__sp__B. 问题:是否可以使用相同的连接上下文从 CLR 过程 clr__sp__B 访问 #tempTable?(不,我不想在
..
如何插入命令给出的结果集 仅恢复文件列表恢复正常仅恢复验证 进入自动生成的临时表? 我想使用类似于(因此表是自动创建的,所有列都与结果集的列匹配)类似的技术 SELECT * INTO #TempTable从(从磁盘恢复文件列表 = 'c:\Test\Test.bak') 但这行不通.如果我可以填充一个 TempTable,我就可以在下面的 SQL 语句中使用其中包含的信息(在我的例
..
我需要找到临时表的列名. 如果它是一个物理表,那么我们可以使用 sys.columns 或 Information_schema.columns 系统视图来查找列名. 类似地,有没有办法找到临时表中存在的列名? 解决方案 SELECT *从 tempdb.sys.columnsWHERE object_id = Object_id('tempdb..#sometemptable
..
我正在尝试优化具有如下代码的过程: CREATE TABLE #t1 (c1 int, c2 varchar(20), c3(varchar(50)...)创建集群索引 ix_t1 ON #t1(c3) ON [PRIMARY] 我想通过将 CLUSTERED 索引移到表声明中来改进这一点(更适合缓存),但是 c3 不是唯一的,所以这不起作用: CREATE TABLE #t1 (c1 in
..
我在 SQL Server 中遇到以下问题,我有一些如下所示的代码: 删除表#TMPGUARDIAN创建表#TMPGUARDIAN(LAST_NAME NVARCHAR(30),FRST_NAME NVARCHAR(30))SELECT LAST_NAME,FRST_NAME INTO #TMPGUARDIAN FROM TBL_PEOPLE 执行此操作时,我收到错误消息“数据库中已存在名为‘
..
我目前有一个这样的临时表 DBName API50 CounterValue空 空 1测试 1 34.5 NULL空 空 2测试 1 38.5 NULL 我想要一个脚本来制作我的临时表 DBName API50 CounterValue测试 1 34.5 1测试 1 38.5 2 解决方案 如果你的表有主键,并且你总是想将 CounterValue 字段与表中的下一个字段关联,你可以做一
..
场景如下: 过程 1 创建临时表 #t. 过程 1 执行过程 2. 过程 2 填充 #t. 在过程 1 中,我从 #t 插入到一个真实的表中,以便我可以查看数据.数据就在那里. 在查看此数据后,我立即使用自联接进行更新.像这样: 更新 b设置 b.column1 = a.column3从#t a内连接#t b on a.id = b.id; 应该更新的记录没有更
..
我创建了一个带有 7 个临时表的存储过程,每个临时表在他们自己的工作结束时被删除. 我从一个 Web 服务和我们用于不同实例的相同 Web 服务调用 SP. 我已经强行删除了每个临时表,但是当 SP 执行时,它不会删除位于“tempdb/临时表"中的任何临时表.而且,当我打开应用程序的新实例并尝试执行相同的 SP 时,它将修改相同的临时表. 这给我带来了问题.当SP同时执行时它会
..
这是一个例子; 我有数字列表 (1,5,8,36),我希望这些值作为(临时)表行.一种方法是如下 select 1 as n into ##temp联盟选择 5 作为 n联盟选择 8 作为 n联盟选择 36 作为 n 问题是号码列表是动态的.它可以有任何值.所以我需要一种适当的系统方法将这些值转换为临时表行. 解决方案 我经常使用的解决方案... 以 VARCHAR(MAX
..
我想在 SQLAlchemy 中创建一个临时表.我可以通过对 Table 调用 table._prefixes.append('TEMPORARY') 来构建带有 TEMPORARY 子句的 CREATE TABLE 语句 对象,但不如 table.select().prefix_with() 用于为数据操作语言表达式添加前缀. 是否有与 .prefix_with() 等效的 DDL?
..
在使用 sqlalchemy 作为池框架处理 sybase 时,我已将问题简化为 pandas to_sql 在 #tmp 周围添加双引号. 代码: def get_data_with_tmp():engine = get_connection("sybase")使用 engine.connect() 作为连接:df = pd.DataFrame({'alias_id': ['345402
..
简单的场景.存储过程sp_Task1 调用sp_Task2,而sp_Task2 有一个名为#Task2_Output 的输出临时表.我希望 sp_Task1 接受 #Task2_Output 并用它执行进一步的交易. 我如何让这两件事发生: 1) 确保 sp_Task1 等待 sp_Task2 完成以继续执行下一行代码. 2) 如何检查 #Task2_Output 是否从 sp_
..
我在这里遇到了类似于这个问题的问题(在运行时显示来自 SQL Server 查询结果的列的数据类型和大小) 没有一个可靠的解决方案. 我想知道是否有人找到了解决方案或变通办法.我可以毫无问题地使用 SqlDataAdapter.Fill(),但是 .FillSchema() 会报告我在存储过程中创建的临时表不存在的错误. 我的目标是能够用来自源的数据和架构填充 DataTable.
..
在 SQL Server 存储过程中何时使用临时表以及何时使用游标.哪个是最好的选择性能明智的? 解决方案 如果可能的话,避免游标就像瘟疫一样.SQL Server 基于集合 - 您需要以 RBAR(逐行痛苦的方式)方式执行的任何操作都将缓慢、缓慢,并且违背 SQL 工作原理的基本原则.> 您的问题非常模糊 - 根据这些信息,我们无法真正判断您要做什么.但主要建议仍然是:只要有可能(并且
..
如何像创建普通表一样创建临时表? 示例: CREATE TABLE table_name(column1 数据类型,column2 数据类型,column3 数据类型,....); 解决方案 一个临时表可以有3种,#是最常用的.这是一个仅存在于当前会话中的临时表.与此等效的是 @,一个声明的表变量.这具有较少的“功能"(如索引等),并且也仅用于当前会话.## 与 # 相同,但范围更广,
..
鉴于: 存储过程中的代码: select bleh进入#tblTemp从 FunctionThatReturnsTable('some','params')——做点事删除表#tblTemp-- 此命令出错:-- '数据库中已经有一个名为'#tblTemp'的对象.'选择 bleh进入#tblTemp从 FunctionThatReturnsTable('some','other param
..
在我的 SQL Server 2012 环境中,我创建了一系列存储过程,它们在它们之间传递预先存在的临时表(我在这里尝试了不同的架构,但由于要求/程序). 我想做的是在存储过程中检查是否已经创建了临时表,如果没有,则创建它. 我当前的 SQL 如下所示: IF OBJECT_ID('tempdb..#MyTable') 为空创建表#MyTable(Col1 INT,Col2 VARC
..
我有一个存储过程,其中一部分如下:@DRange 是传入的 varchar 值 声明@sql varchar(max)set @sql = 'select * into #tmpA from TableA where create_date >= getDate - ' + @DRange + '' and is_enabled = 1'执行(@sql)从 #tmpA 中选择 * 问题是当我执
..
在 ETL 包开始时,以下 SQL 查询针对 SQL Server 2012 数据库运行: IF OBJECT_ID(N'tempdb..##SlotChanges') 不是 NULL开始删除表##SlotChanges结尾创建表##SlotChanges(--剪辑) 然后包将一些行写入临时表,并在写入目标数据库时将其用作最终数据源. 最后没有 drop 命令,因为它只会在下一次运行开始
..