首页 文章
  • 248 votes
     answers
     views

    什么时候应该在sql server中使用表变量vs临时表?

    我正在学习表变量的更多细节 . 它表示临时表总是在磁盘上,表变量在内存中,也就是说,表变量的性能优于临时表,因为表变量比临时表使用更少的IO操作 . 但有时,如果表变量中的记录太多而无法包含在内存中,则表变量将像临时表一样放在磁盘上 . 但我不知道“太多记录”是什么 . 100,000条记录?或1000,000条记录?我怎么知道我正在使用的表变量是在内存中还是在磁盘上? SQL Server 2...
  • 4 votes
     answers
     views

    检查临时表中是否存在列始终在SQL Server中返回false

    我有以下执行语句创建一个表(使用来自另一个过程的数据),将值插入临时表,添加一个图像列(因为它们不能包含在分组中),然后根据另一个标准更新它临时表(生成的表字段在SSRS报告中使用,因此我需要保留IMAGE数据类型): EXEC ('SELECT ' + @COL_TO_GROUP_BY + @COL_ADDITONAL + @sColVals + ' INTO #RESULTS_TABLE fr...
  • 3 votes
     answers
     views

    为什么临时表没有从SQL Server中的tempdb中删除?

    我创建了一个包含7个临时表的存储过程,每个临时表在自己的工作结束时被删除 . 我从一个Web服务和相同的Web服务调用SP,我们用于不同的实例 . 我强行删除了每个临时表,但是当SP执行时,它不会删除位于“tempdb / Temporary Table”中的任何临时表 . 而且,当我打开我的应用程序的新实例并尝试执行相同的SP时,它将修改相同的临时表 . 这给我带来了麻烦 . 当SP同时执行时它...
  • 2 votes
     answers
     views

    无效的对象名称## Temp创建全局临时表时出错

    我有几个表中的数据,我想加载到SQL Server中的临时表 . 我正在创建一个从表中获取数据的存储过程 . 然后我创建全局临时表并将存储过程的结果插入其中 . 但是,当尝试从临时表中选择数据时,我收到此错误“无效的对象名称## Temp” 如果它是全局临时表,为什么会出现此错误? DROP PROCEDURE usp_GetEmp GO CREATE PROCEDURE usp_GetEmp A...
  • 2 votes
     answers
     views

    使用SSIS临时表并使用包的结果集?

    嗨我正在使用复杂的SQL Server查询,我正在加入临时表并在包中使用 . 如何在SSIS中使用此结果集? 我无法使用存储过程,因为我无法获得管理员权限 . 我不能让这个工作,不知道是不是因为我有一个以上的临时表,它生成一个选择http://www.sqlerudition.com/how-to-use-temp-table-in-ssis/ 这一个也不起作用,https://www.mssql...
  • 0 votes
     answers
     views

    此SQL查询是否创建临时表?

    SELECT * FROM ( (SELECT table1.id1, table1.id1_type AS id1, FROM child AS table2 STRAIGHT_JOIN parent AS table1 ON table1.id1=table2.id1 AND table1.id2=table2.id2 AN...
  • 536 votes
     answers
     views

    检查临时表是否存在,如果存在,则在创建临时表之前删除它

    我使用以下代码检查临时表是否存在,如果存在,则在再次创建之前删除该表 . 只要我不更改列,它就可以正常工作 . 如果我稍后添加一个列,则会显示“无效列”的错误 . 请让我知道我做错了什么 . IF OBJECT_ID('tempdb..#Results') IS NOT NULL DROP TABLE #Results CREATE TABLE #Results ( Compan...
  • 1 votes
     answers
     views

    Oracle 10g临时表

    我正在尝试将存储过程中使用的永久表转换为全局临时表 . 我查看了这些永久表上的统计数据,有些数据库有数千万行数据,如果是千兆字节(最多10 GB),则会有订单 . 所以, CREATE TABLE my_table ( column1 NUMBER, column2 NUMBER, etc... ) TABLESPACE BIGTABLESPACE NOLOGG...
  • 1 votes
     answers
     views

    Oracle 10g - 插入临时表 - 记录select和insert之间的计数不匹配

    我们正在尝试从select查询中插入记录到临时表中,临时表中缺少一些记录 . select语句有多个连接和联合所有它很复杂的查询 . 简单来说,脚本包含2部分第一部分插入到临时表第二部分选择具有多个连接的查询,内联子查询,联合和按类和条件分组 例如 . 如果我们单独执行select语句,它会返回一些计数,例如=> 60000插入临时表后,在临时表中计数大约是42000,为什么区别? Als...
  • 1 votes
     answers
     views

    在Oracle SQL中构造临时表

    我试图创建一个子表,“存储”两个值之间的解码,因为我需要多次使用该解码 . 让我们说这些是我的表: Table Person Name Number_name Jeremy One Thomas Two Stephen Three 我当前的SQL看起来像这样: SELECT decode (number_name, 'one',1, 'two',2, '...
  • 443 votes
     answers
     views

    在SELECT语句中创建临时表,而不使用单独的CREATE TABLE

    是否可以在不使用create table语句并指定每个列类型的情况下从select语句创建临时(仅会话)表?我知道派生表能够做到这一点,但那些是超临时的(仅限语句),我想重用 . 如果我不必编写create table命令并保持列列表和类型列表匹配,那么可以节省时间 .
  • 0 votes
     answers
     views

    无法使用Trigger在动态SQL中绑定多部分标识符

    以下是我而不是更新触发器的一部分 CREATE TRIGGER TestDemo ON Consultants1 INSTEAD OF UPDATE AS DECLARE @Sql nvarchar(200), @TableName nvarchar(50), @FieldName nvarchar(100), ...
  • 358 votes
     answers
     views

    SQL Server中临时表和表变量之间有什么区别?

    在SQL Server 2005中,我们可以通过以下两种方式之一创建临时表: declare @tmp table (Col1 int, Col2 int); 要么 create table #tmp (Col1 int, Col2 int); 这两者有什么区别?关于@tmp是否仍然使用tempdb,或者是否所有内容都发生在内存中,我已经阅读了相互矛盾的意见 . 在哪种情况下,一个人胜过另一个...

热门问题