问题标签 [temp-tables]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - SQL Server 中的临时表和表变量有什么区别?
在 SQL Server 2005 中,我们可以通过以下两种方式之一创建临时表:
或者
这两者有什么区别?关于@tmp 是否仍然使用 tempdb,或者一切都发生在内存中,我已经阅读了相互矛盾的意见。
在哪些情况下,其中一种表现优于另一种?
sql-server - SQL Server 2005 临时表
在存储过程中,SQL Server 2005 中的#Temptable 何时创建?创建查询执行计划或执行存储过程时?
sql-server - SQL Server 2005 错误
为什么你不能这样做,有解决办法吗?
你得到这个错误。
消息 2714,级别 16,状态 1,第 13 行数据库中已经有一个名为“#temptable”的对象。
tsql - T-SQL 中临时表索引的最佳使用
如果您在存储过程中创建一个临时表并希望在其上添加一个或两个索引,以提高针对它所做的任何其他语句的性能,最好的方法是什么?Sybase 是这样说的:
"创建索引时表必须包含数据。如果创建临时表并在空表上创建索引,则 Adaptive Server 不会创建柱状图和密度等列统计信息。如果在创建索引后插入数据行,优化器的统计数据不完整。”
但最近一位同事提到,如果我在与实际使用临时表的存储过程不同的存储过程中创建临时表和索引,则 Adaptive Server 优化器将能够使用它们。
总的来说,我不太喜欢增加一点价值的包装程序,所以我实际上并没有测试这个,但我想我会把问题放在那里,看看是否有人有任何其他的方法或建议?
tsql - 临时表上的索引在表被删除的时候会被删除吗?
以下 SQL 是否也会删除索引 - 还是必须单独删除?
sql-server - 如何在 sql server 2005 中获取 x 和 y 之间的日期表
我只是想要一种快速的方法(最好不使用while循环)来创建日期@x和日期@y之间的每个日期的表,这样我就可以将外部连接留在一些统计表中,其中一些肯定没有记录之间的天数,允许我用 0 标记缺失的天数
sql - SQL Server:是否可以同时插入两个表?
我的数据库包含三个名为Object_Table
和Data_Table
的表Link_Table
。链接表只包含两列,一个对象记录的标识和一个数据记录的标识。
我想从DATA_TABLE
链接到一个给定对象标识的位置复制数据,并将相应的记录插入到Data_Table
不同Link_Table
的给定对象标识中。
我可以通过选择一个表变量并通过为每次迭代执行两次插入循环来做到这一点。
这是最好的方法吗?
编辑:我想避免循环有两个原因,第一个是我很懒,循环/临时表需要更多的代码,更多的代码意味着更多的地方出错,第二个原因是对性能的关注。
我可以在一次插入中复制所有数据,但是如何让链接表链接到每条记录都有一个新 ID 的新数据记录?
sql-server-2005 - 临时表上的 DBCC CHECKIDENT 为错误的用户抛出权限错误
我作为非 sa 用户“bhk”登录到 SQL Server 2005 数据库,该用户仅是“公共”服务器角色的成员。以下代码尝试在用户“bhk”调用的存储过程中执行。这行代码...
导致此错误...
用户 'guest' 无权为对象
'#Table1__00000000007F' 运行 DBCC CHECKIDENT。
我知道运行 DBCC CHECKIDENT 所需的权限...
调用者必须拥有该表,或者是 sysadmin 固定服务器角色、db_owner 固定数据库角色或 db_ddladmin 固定数据库角色的成员。
所以我有两个问题:
- 由于'bhk'正在调用一个创建临时表的存储过程,'bhk'不应该是所有者并被允许运行DBCC CHECKIDENT吗?
- 为什么错误消息返回用户 'guest' 没有权限?据我所知,我没有以“访客”身份登录。
任何帮助将不胜感激。
tsql - 在多 tempdb 环境中测试临时表是否存在?
是否有任何方法可以确定是否在会话中创建了特定的临时表而不引用创建它的 tempdb 数据库?用户在登录时被分配到特定的 tempdb,所以我不知道他们将使用哪个 tempdb。
我不需要指定一个 tempdb 来从临时表中选择数据,所以我肯定可以看到该表是否存在?
c# - 如何让 C# 查询组件识别从 sql 存储过程中的临时表返回的数据的列
我创建了一个类似于下面的存储过程(我正在使用这个缩减版本来尝试找出我们的问题)。
从我在 VS2008 中的 C# 代码中,我尝试使用带有使用现有存储过程选项的查询组件将其连接到 DataTable / DataGridView 以显示结果。
但是,因为我是从临时表中选择的,所以在查询组件属性中,Visual Studio 不会显示从存储过程返回的任何列。我假设它无法确定正在使用的数据类型,因为 SP 不是基于真实的模式。
连接到从真实表中选择的不同存储过程确实可以正确显示列。
有人知道吗?是否有某种提示我可以在某处添加以明确说明将返回哪种数据?
提前致谢。