AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[temporary-tables](dba)

Martin Hope
Enrique Benito Casado
Asked: 2022-06-25 05:31:40 +0800 CST

Teradata:临时表与创建和删除表

  • 0

目前,我看到了一个 ETL 流程,其中用户创建了用于存储中间结果的表,然后在 ETL 流程结束时删除这些表。

乍一看,这似乎不是正确的做法,因为我一直都知道这应该通过临时表来完成,但是当涉及到与用户争论为什么他应该使用临时表来进行推理时普通表(最后下降)我找不到任何理由。

teradata temporary-tables
  • 1 个回答
  • 61 Views
Martin Hope
Mark Adam Proctor
Asked: 2021-09-01 10:51:09 +0800 CST

估计基数时,优化器如何处理尚未填充的#temp 表?

  • 9

我一直在构建存储过程,但找不到任何关于 SQL Server 优化器如何处理 #temp 表的文档。

如果我有 4 个连接到 #temp 表,其中在存储过程执行期间创建了该 #temp 表,并且 #temp 表可能包含零到多条记录,它是如何估计的?

由于CREATE/ALTER时没有统计信息,估计和join中的一些表一样大吗?估计很小吗?估计和其他#temporary表一样吗?

请注意,这是假设在执行时没有重新编译并且使用原始版本。

sql-server temporary-tables
  • 2 个回答
  • 553 Views
Martin Hope
Kirsten
Asked: 2021-08-04 22:24:07 +0800 CST

数据库中已经有一个名为 PK_MyPrimaryKey 的对象(临时表上的主索引)

  • 1

简化代码

var sql = @" create table #Temp( 
                int Id NOT NULL
                CONSTRAINT [PK_TempId] PRIMARY KEY (Id)
             )
             insert into #temp(id) select (Id) from SomeOtherTable
             select Id from #Temp
             "

        using (var db = new MyDbContext())
            {
                var results = db.Database.SqlQuery<int>(sql).ToList();
                return results;
            }

导致间歇性错误

There is already an object named PK_TempId in the database

我已经添加了

drop table #temp

并且正在等待查找是否可以解决问题。

在我添加索引之前,代码运行多年没有任何问题,也没有明显需要删除临时表。

我在这里找到了一个建议,即不应在临时表中使用命名索引。但我不确定有什么替代方案。

sql-server temporary-tables
  • 1 个回答
  • 956 Views
Martin Hope
Lauren_G
Asked: 2021-05-01 21:45:51 +0800 CST

使用 ORDER BY 从 SELECT 创建 Azure Synapse 临时表

  • 0

我有以下语句在我省略ORDER BY子句时有效,或者如果我将其作为选择运行并省略创建表部分,但我需要两者来确保我生成的密钥的顺序正确

有任何想法吗?

消息 104381​​,级别 16,状态 1,第 18 行
ORDER BY 子句在视图、CREATE TABLE AS SELECT、INSERT SELECT、SELECT INTO、内联函数、派生表、子查询和公用表表达式中无效,除非 TOP 或 FOR XML 是也指定。

CREATE TABLE #demo
WITH (DISTRIBUTION = ROUND_ROBIN)
AS
SELECT 
       ROW_NUMBER() OVER(ORDER BY (SELECT NULL)) AS ID,
       schemas.name as [schema], 
       tables.name as [table], 
       columns.column_id as [ordinal],
       columns.name as [column],
       types.name as [type]
FROM SYS.COLUMNS
  inner join sys.types
          on  types.system_type_id = columns.system_type_id
  inner join sys.tables
          on  tables.object_id = columns.object_id
  inner join sys.schemas
          on  schemas.schema_id = tables.schema_id
order by schemas.name, 
       tables.name, 
       columns.column_id 
t-sql temporary-tables
  • 1 个回答
  • 1341 Views
Martin Hope
Gaston
Asked: 2021-01-10 06:31:45 +0800 CST

MySQL 是否支持在会话中定义表而不将其附加到数据库?

  • 1

如标题中所述。MySQL 是否支持在本地定义表?(也许作为“局部变量”?)

我了解(根据“来源”)MySQL 有“两种类型的变量”:(1)本地变量和(2)用户变量,但两者都不能是一个完整的表。


资源:

  • https://stackoverflow.com/questions/13670659/mysql-local-variables

编辑:我认为在“创建”中使用“临时”标志是答案

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name

来自文档:https ://dev.mysql.com/doc/refman/8.0/en/create-table.html

mysql temporary-tables
  • 1 个回答
  • 21 Views
Martin Hope
swat
Asked: 2020-06-07 11:07:35 +0800 CST

使用 select 语句创建表截断不正确的日期时间值:

  • 0

在将其发布在这里之前,我已经查找了类似问题的不同答案。

所以我有一个包含用户 ID 和日期列的表

在此处输入图像描述

我想将选择查询的结果存储到临时表中。关于使用以下语句:

创建临时表 dummy_table ( select User_Id , DATE_FORMAT( Date,'%M %Y') from result_table.user_signup_date );

抛出错误错误代码:1292。截断不正确的日期时间值:'2019-06-16 00:00:00 UTC'

我注意到该错误仅在我格式化日期列时发生。我尝试将日期转换为字符串。我还尝试了 str_to_date(DATE_FORMAT( Date,'%M %Y') ,'%M %Y %H:%i:%s') 和其他一些语法,但没有结果。

我是 Sql 新手。任何帮助,将不胜感激。提前致谢

mysql temporary-tables
  • 1 个回答
  • 821 Views
Martin Hope
peschü
Asked: 2019-11-13 04:37:49 +0800 CST

在 Postgres 中将 WITH 与 CREATE TEMPORARY TABLE AS SELECT ... 一起使用?

  • 1

我想使用 select 语句创建一个临时表,该语句使用 WITH 语句中指定的临时视图(不是 CREATE TEMPORARY TABLE 的 WITH 语句)。

例如类似的东西

WITH a AS (
SELECT 1 foo, 2 bar 
), b AS (
SELECT 4 bar, 5 baz
)
CREATE TEMPORARY TABLE foo AS
SELECT * from a JOIN b ON (a.bar=b.bar)

如果我注释掉 CREATE TEMPORARY TABLE 行,这行得通。如何使用 SELECT 的查询结果创建临时表,而不将临时视图重写为单个查询?

postgresql temporary-tables
  • 1 个回答
  • 1440 Views
Martin Hope
Anonymous
Asked: 2019-09-17 00:01:35 +0800 CST

SQL Server - 全局临时表与普通表

  • 1

我有一个存储过程,用于将 csv 文件加载到 SQL Server。这最初会将文件批量插入到全局临时表中,然后在最后它将执行:

select cast(column1 as int) [column1], column2, column3... into table from ##temptable

然后继续删除##temptable

在查询之前,select into table from ##temptable我对临时表运行了一系列select查询以确定列应该是什么类型(我相信这可以正常工作)。

请注意,在创建最终输出表之前拥有一个表(普通表或临时表)对于存储过程至关重要。

我想知道的是,我是使用全局临时表更好,还是应该使用普通表,还是没有区别?

我已经看过几篇关于临时表和表变量之间差异的文章,但是在将全局临时表与普通表进行比较时,我什么也没看到,而且我很难在我的环境中正确地测试它。

sql-server temporary-tables
  • 2 个回答
  • 1339 Views
Martin Hope
Guru vyas V
Asked: 2019-07-13 09:24:51 +0800 CST

Oracle Global Temp 表 - 数据被截断,但表仍保留在数据库中!这是预期的行为还是配置?

  • 0

我们正在尝试使用创建全局临时表

    Create global Temporary table t1 ( id NUMBER, description VARCHAR2(20) ) 
ON COMMIT Delete Rows;

并尝试在最后手动删除它,但创建的临时表不能被删除,但会话数据在最后被截断。

  1. 无法删除它 - 这就是 oracle 与 GTT 的工作方式吗?
  2. 有什么替代品??
oracle temporary-tables
  • 1 个回答
  • 267 Views
Martin Hope
Evan Carroll
Asked: 2019-05-26 13:35:07 +0800 CST

为什么临时表不能引用 PostgreSQL 中的常规(非临时)表?

  • 2

为什么临时表不能引用 PostgreSQL 中的非临时表?当我运行以下

CREATE TABLE foo ( a int PRIMARY KEY );
CREATE TEMP TABLE bar ( a int REFERENCES foo );

我明白了,

错误:临时表的约束可能只引用临时表

我认为这曾经可以工作,所以我回到 PostgreSQL 8.4,即使这样我也看到它曾经出错,

错误:无法从临时表约束中引用永久表

这是为什么?为什么临时表不能引用非临时表。

postgresql temporary-tables
  • 1 个回答
  • 1050 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve