标签: temp-tables

如果不存在,则插入记录SQL Server 2005

SQL Server 2005数据库.我有许多记录的临时表,这些记录是从RSS源,需要周期性地插入.有些数据会改变,有些数据会保持不变.我只需要插入"新"的记录,并消除将导致重复记录的冗余数据的机会.我该如何做到这一点?

示例,tempTable,

        BEGIN
            INSERT INTO myTable
                (
                    row1
                    ,row2
                    ,row3
                )
            SELECT
                row1
                ,row2
                ,row3
            FROM @tempTable
        END
Run Code Online (Sandbox Code Playgroud)

t-sql insert temp-tables

2
推荐指数
1
解决办法
8647
查看次数

PostgreSQL 转储临时表

我使用以下查询在 PostgreSQL 数据库中 创建了一个临时表

SELECT * INTO TEMP TABLE tempdata FROM data WHERE id=2004;
Run Code Online (Sandbox Code Playgroud)

现在我想创建这个临时表的备份tempdata
所以我使用以下命令行执行

"C:\Program Files\PostgreSQL\9.0\bin\pg_dump.exe" -F t -a -U my_admin -t tempdata myDB >"e:\mydump.backup"  
Run Code Online (Sandbox Code Playgroud)

我收到一条消息说

pg_dump: No matching tables were found  
Run Code Online (Sandbox Code Playgroud)

是否可以创建 的转储temp tables
我做得正确吗?

PS:我也想恢复相同的内容。我不想使用任何额外的组件。

TIA。

postgresql dump temp-tables

2
推荐指数
1
解决办法
4304
查看次数

SQL Server 2008,我可以在 udf 中的 select 语句中引用临时表吗?

我正在尝试对 udf 中的临时表运行选择查询。我找不到说明这是不允许的文档,但是当我更改tblDailyPricingAndVol#dailyPricingAndVolBySymbol(当然是我的临时表。临时表是在更高级别创建的(在存储之前的存储过程中)时,以下存储过程将无法编译使用此功能的程序)如果这会影响任何事情......提前致谢。

编辑:udf 只是作为调用它的存储过程的助手。我试图用它查询一个临时表,因为它每次运行时都会被调用数千次。它检索然后聚合的数据位于一个包含数百万行的表中。因此,我将数据缩减为数百条记录,放入临时表中。这将显着加快函数的运行速度,即使它仍然需要相当长的时间来运行。

ALTER FUNCTION dbo.PricingVolDataAvailableToDateProvided
    (@Ticker nchar(10),
     @StartDate DATE,
     @NumberOfDaysBack int)
    RETURNS nchar(5)
AS
    BEGIN

    DECLARE @Result nchar(5)
    DECLARE @RecordCount int

    SET @RecordCount = (SELECT COUNT(TradeDate) AS Expr1
        FROM (SELECT TOP (100) PERCENT TradeDate
           FROM tblDailyPricingAndVol WHERE (Symbol = @Ticker) AND (TradeDate IN
                 (SELECT TOP (@NumberOfDaysBack) CAST(TradingDate AS DATE) AS Expr1
                  FROM tblTradingDays
                  WHERE (TradingDate <= @StartDate)
                  ORDER BY TradingDate DESC))
                  ORDER BY TradeDate DESC) AS TempTable)

    IF @RecordCount = @NumberOfDaysBack
        SET …
Run Code Online (Sandbox Code Playgroud)

sql-server temp-tables sql-server-2008

2
推荐指数
1
解决办法
2438
查看次数

删除SQL Server中的临时表?

我在删除SQL Server中的临时表时遇到问题.

我有一个存储过程但是当我通过我的应用程序运行它说:

"数据库中已经有一个名为'#WeekList'的对象"

当我尝试删除表时,我收到以下消息:

无法删除表'#WeekList',因为它不存在或您没有权限.

我的SP如下:

USE [test_staff]
GO
/****** Object:  StoredProcedure [dbo].[sp_create_week_list]    Script Date: 03/20/2012 09:35:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO



ALTER PROCEDURE [dbo].[sp_create_week_list]

AS

CREATE TABLE #WeekList
    (
    month_date date
    )


DECLARE @REPORT_DATE DATETIME, @WEEK_BEGINING VARCHAR(10)
SELECT @REPORT_DATE = '2011-01-19T00:00:00'
--SELECT @REPORT_DATE = GETDATE() -- should grab the date now.
SELECT @WEEK_BEGINING = 'MONDAY'
IF @WEEK_BEGINING = 'MONDAY'
SET DATEFIRST 1
ELSE IF @WEEK_BEGINING = 'TUESDAY'
SET DATEFIRST 2
ELSE IF @WEEK_BEGINING = …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server temp-tables sql-server-2008

2
推荐指数
1
解决办法
3万
查看次数

从视图插入临时表非常慢

我在查询中使用不同的临时表。当我执行下面的查询时

 select * from myView 
Run Code Online (Sandbox Code Playgroud)

执行仅需5秒。

但是当我执行时

select * into #temp from myView 
Run Code Online (Sandbox Code Playgroud)

需要 50 秒(是上面查询的 10 倍)。

我们从 SQL Server 2000 迁移到 SQL Server 2008 R2。之前在 SQL 2000 中,这两个查询需要相同的时间,但在 SQL Server 2008 中,执行时间要多出 10 倍。

sql t-sql sql-server temp-tables sql-server-2008

2
推荐指数
1
解决办法
7391
查看次数

SQL Server 2008 R2 - 为什么我的临时表认为它有一个标识列?

我正在尝试创建一个存储过程,它将能够限制使用部门ID返回的记录数.我试图通过加入临时表来限制记录.

当我运行下面的代码时,我得到错误:

只有在使用列列表且IDENTITY_INSERT为ON时,才能指定表'#department'中标识列的显式值.

这是代码:

DECLARE @departmentID INT
SET @departmentID = 4

-- create temp department table --
select top 0 * into #department from PayrollDepartment

-- load temp department table
IF @departmentID < 1 OR @departmentID IS NULL
BEGIN
    INSERT INTO #department SELECT * FROM PayrollDepartment
END 
ELSE
BEGIN
    INSERT INTO #department SELECT * FROM PayrollDepartment WHERE PayrollDepartmentID =     @departmentID
END
Run Code Online (Sandbox Code Playgroud)

我开始时:

IF @departmentID < 1 OR @departmentID IS NULL
BEGIN
    SELECT * INTO #department FROM ApplicationEmployeeInfo..PayrollDepartment
END 
ELSE
BEGIN …
Run Code Online (Sandbox Code Playgroud)

sql temp-tables identity-insert sql-server-2008-r2

2
推荐指数
1
解决办法
1444
查看次数

在 SQL Server Business Intelligence Development Studio 中将多值参数转换为临时表

我想在 MS SQL Server BIDS(SSMS 和 Visual Studio)中创建一个报告。用户将输入电子邮件地址列表作为参数。所以@pEmails 将是“foo@bluh.com”、“bar@meh.org”等。这些电子邮件地址可能在也可能不在表中。

我可以简单地做:

and Table.Email in (@pEmails)

这行得通,除非我还需要返回电子邮件地址(如果找不到)。所以结果将是这样的:

|email       |found in table|  
|------------|--------------|  
|foo@bluh.com|  Y           |  
|bar@meh.org |  N           |
Run Code Online (Sandbox Code Playgroud)

我想我可以将输入的值列表作为@pEmails 参数并用它们创建一个临时表,然后我可以将其加入,但我这样做的尝试没有成功。

declare @pEmails table (EmailAddress varchar(255));
insert into @pEmails values (@ReportParameter1);

select
*
from
@pEmails
Run Code Online (Sandbox Code Playgroud)

如果只将单个值放入@ReportParameter1,则上述方法有效,但如果其中包含多个值,则无效。

我正在使用 SQL Server 2008。有关如何最好地进行的任何建议?

sql-server parameters bids temp-tables sql-server-2008

2
推荐指数
1
解决办法
1983
查看次数

MySQL ibtmp1 临时表空间增长到多大?

我们有一个 MySQL Master,运行在 1TB SSD 上,带有 500GB 数据库。正如您从下面的屏幕截图中看到的,我们的空间已经用完了,因为ibtmp1它变得太大了。现在是194GB。

在此输入图像描述

MySQL手册说:

“当数据文件达到最大大小时,查询将失败并显示错误,表明表已满。”

因此我们有两个担忧:

  1. 如果这个文件继续增长并填满 SSD,我们的数据库将停止工作。
  2. 如果我们限制该文件的大小,比如 100GB,那么如果它已满,将会“查询失败,并出现错误,表明表已满”。

我确信手册有误导性或者我们有误解,因为MySQL的默认设置不可能允许它填满磁盘然后失败?

mysql innodb temp-tables

2
推荐指数
1
解决办法
3578
查看次数

临时表上的触发器和事务

我们可以在临时表上创建触发器和事务吗?

当用户将插入数据时,如果它已提交,则触发器将被触发,并且该数据将从临时表进入实际表.

当SQL服务停止或服务器将关闭时,临时表将自动删除.

或者我应该使用另一个实际的表,其中首先插入数据,然后如果它被提交,则触发器将被触发,数据将被发送到主表,然后我将执行截断查询以删除数据从接口表中删除重复数据.

sql sql-server triggers sql-server-2005 temp-tables

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

调试时如何在数据库中选择临时表?

我在代码中创建临时表#temp1,然后在代码中插入表.我想在调试代码时选择sqlserver中的表.但它不能.sql server提示没有名为talbe的名字.甚至在数据库tempdb中.调试时如何在数据库中选择临时表?

sql-server temp-tables

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