标签: temp-tables

在SQL Server中推荐一个好的临时表教程

我搜索但无法在SQL Server 2005/2008中为新手找到一个好的临时表使用教程.我想学习临时表与普通表的比较,它的生命周期和临时表的共享方式(在同一个会话中,交叉会话)?

乔治,提前谢谢

sql sql-server temp-tables

4
推荐指数
1
解决办法
8588
查看次数

为什么我不能在T-SQL中重用临时表?

这是一些示例代码:

if object_id('tempdb..#TempList') is not null drop table #TempList

create table #TempList (
   ID int,
   Name varchar(20)
)

insert into #TempList values (1, 'Alpha')
insert into #TempList values (2, 'Beta')
insert into #TempList values (3, 'Gamma')
insert into #TempList values (4, 'Delta')
insert into #TempList values (5, 'Omega')

select * from #TempList

if object_id('tempdb..#TempList') is not null drop table #TempList
drop table #TempList

create table #TempList (
   ID_New int,
   AnotherID int,
   Name_New varchar(40)
)

insert into #TempList values (100, 110, …
Run Code Online (Sandbox Code Playgroud)

sql sql-server temp-tables

4
推荐指数
2
解决办法
7494
查看次数

获得每所学校前10名学生的平均成绩

我们有一所拥有38所小学的学区.孩子们参加了考试.学校的平均分布很广,但我想比较每所学校的10名学生的平均分.

要求:仅使用临时表.

我这样做的工作量非常大,容易出错,如下所示.
(sch_code = eg,9043; - schabbrev = eg,"Carter"; - totpct_stu = eg,61.3)

DROP TEMPORARY TABLE IF EXISTS avg_top10 ;
CREATE TEMPORARY TABLE avg_top10
   ( sch_code   VARCHAR(4),
     schabbrev  VARCHAR(75),
     totpct_stu DECIMAL(5,1)
   );

INSERT 
  INTO avg_top10
SELECT sch_code
     , schabbrev
     , totpct_stu
  FROM test_table
 WHERE sch_code IN ('5489')
 ORDER
    BY totpct_stu DESC
 LIMIT 10;

-- I do that last query for EVERY school, so the total 
-- length of the code is well in excess of 300 lines.  
-- Then, …
Run Code Online (Sandbox Code Playgroud)

mysql temp-tables limit

4
推荐指数
1
解决办法
1024
查看次数

SQL数据库系统中临时表的用例是什么?

使用临时表的主要目的是什么?我想知道在小型和大型公司工作的实际软件中临时表的实际和商业用途.

sql temp-tables

4
推荐指数
1
解决办法
1760
查看次数

Rails 3 ActiveRecord临时表

如何在Rails 3中执行以下操作?

CREATE TEMPORARY TABLE average_user_total_time 
  (SELECT SUM(time) AS time_taken 
        FROM scores 
        WHERE created_at >= '2010-10-10' 
                and created_at <= '2010-11-11' 
        GROUP BY user_id);

SELECT COUNT(*) from average_user_total_time WHERE time_taken > 60 and time_taken < 600
Run Code Online (Sandbox Code Playgroud)

我试过做类似的事情

create_table (:average_user_total_time), :temporary=> true do |t|

end
Run Code Online (Sandbox Code Playgroud)

但不确定如何正确使用它.我需要在我的应用程序中使用它,而不是在迁移中.

activerecord temp-tables ruby-on-rails-3

4
推荐指数
1
解决办法
7919
查看次数

Oracle PL/SQL TABLE类型的TO_CHAR

出于调试目的,我希望能够" TO_CHAR"一个Oracle PL/SQL内存表.这是一个简单的例子,我想做的事情:

DECLARE
  TYPE T IS TABLE OF MY_TABLE%ROWTYPE INDEX BY PLS_INTEGER;
  V T;

BEGIN
  -- ..

  -- Here, I'd like to dbms_output V's contents, which of course doesn't compile
  FOR i IN V.FIRST .. V.LAST LOOP
    dbms_output.put_line(V(i));
  END LOOP;

  -- I want to omit doing this:
  FOR i IN V.FIRST .. V.LAST LOOP
    dbms_output.put_line(V(i).ID || ',' || V(i).AMOUNT ...);
  END LOOP;

END;
Run Code Online (Sandbox Code Playgroud)

简单来说,这可以实现吗?我问的原因是因为我懒得一次又一次地编写这个调试代码,而且我想在任何表类型中使用它.

oracle plsql tostring temp-tables

4
推荐指数
1
解决办法
2357
查看次数

什么时候Oracle会话临时表中的数据会被删除?

我已经读过,在会话表中,数据在提交过程中仍然存在.用Ask Tom的话来说.

ON COMMIT PRESERVE ROWS使这成为一个基于会话的临时表.在注销之前,行将保留在此表中.只有我可以看到它们,即使我提交后也没有其他会话会看到"我的"行

这里的问题短语是"直到注销".以Web应用程序为例,该应用程序与DB保持单一连接.因此,这意味着登录到Web应用程序的所有用户将共享相同的数据库会话.那么,这是否意味着所有用户都将在该临时表中看到相同的内容?

在实际的Web应用程序中,我们通常会维护多个DB连接.这些连接保存在"池"中,并且可以为许多用户重用它们.在这种情况下,行为可能非常不稳定,用户可能会查看上一个用户填充的数据.

sql oracle temp-tables

4
推荐指数
1
解决办法
6458
查看次数

在MySQL中加入同一个表临时表

我喜欢在MySQL中加入一个临时表失败,这个想法很简单:

CREATE TEMPORARY TABLE temp_table LIKE any_other_table; -- srsly it does not matter which table

(
  SELECT p1,p2,p3 FROM temp_table WHERE p4 = 1
) UNION (
  SELECT p1,p2,p3 FROM temp_table WHERE p4 = 2
)
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏.

编辑:mysql抛出的错误是 ERROR 1137 (HY000): Can't reopen table: 'temp_table'

mysql sql join temp-tables

4
推荐指数
1
解决办法
2509
查看次数

4
推荐指数
1
解决办法
6649
查看次数

在MySQL中创建具有随机名称的临时表

我想在MySQL存储过程中创建具有随机名称的临时表.我还需要存储名称,以便从另一个存储过程访问该表.我在考虑使用MD5哈希:

SELECT md5(RAND()+CURRENT_TIMESTAMP());
Run Code Online (Sandbox Code Playgroud)

我想知道这是否会产生完全无碰撞的字符串?

mysql random stored-procedures temp-tables

4
推荐指数
1
解决办法
3317
查看次数