如何插入命令给出的结果集
RESTORE FILELISTONLY
RESTORE HEADERONLY
RESTORE VERIFYONLY
Run Code Online (Sandbox Code Playgroud)
进入自动生成的临时表?
我想使用类似的技术(因此表是自动创建的,所有列都匹配结果集的列)
SELECT * INTO #TempTable
FROM (RESTORE FILELISTONLY FROM DISK = 'c:\Test\Test.bak')
Run Code Online (Sandbox Code Playgroud)
但这不起作用.如果我可以填充TempTable,那么我就可以在下面的SQL语句中使用它中包含的信息(在我的例子中是一个恢复DB语句,我需要使用RESTORE FILELISTONLY给出的结果集中包含的一些字符串)
我正在使用sql server 2008.
我正在尝试创建一个引用PostgreSQL 8.4中的临时表的函数.基于我的研究,似乎最好的方法是使用EXECUTE命令从定义的字符串执行我的查询.
不幸的是,我在尝试创建函数时遇到奇怪的语法错误.
我目前的功能定义如下:
CREATE OR REPLACE FUNCTION example() RETURNS void AS $$
EXECUTE 'INSERT INTO table1 (col1, col2, col3) SELECT col1, col2, col3 from temp_table';
$$ LANGUAGE SQL;
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
ERROR: syntax error at or near "'INSERT INTO table1 (col1, col2, col3) SELECT col1, col2, col3 from temp_table'"
LINE 2: execute 'INSERT INTO table1 (col1, col2, col3) SELECT col1...
Run Code Online (Sandbox Code Playgroud)
无论字符串文字中的实际内容如何,我似乎都得到了同样的错误.
我的问题是,1)使用EXECUTE特性的正确语法是什么,2)是否有更好的方法来编写这样一个引用临时表的函数?
临时表中的记录是否有任何限制..我已经尝试过130万条记录..可能是因为应用程序要求,我将来需要处理数十亿美元.这可能吗?如果我能知道记录的限制..我可以尝试从源数据库中拆分记录并在限制内进行管理.提前致谢
我刚刚了解了全局临时表(我使用oracle作为db)并理解它们但却无法知道它们的确切用法.
顾名思义,它们用于保存临时数据/会话,在结束会话时,该会话的数据将消失.
什么是示例,我们需要使用它们的业务用例.
我如何在DB2中执行以下TSQL查询?我在根据查询结果创建临时表时遇到问题.
SELECT
COLUMN_1, COLUMN_2, COLUMN_3
INTO #TEMP_A
FROM TABLE_A
WHERE COLUMN_1 = 1 AND COLUMN_2 = 2
Run Code Online (Sandbox Code Playgroud)
错误消息是:
"错误:SQL0104N在""之后发现了一个意外的令牌"#TEMP_A".预期的令牌可能包括:":".SQLSTATE = 42601"
我想这样做
而我正在尝试这样:
CREATE TEMPORARY TABLE tmptable SELECT * FROM blogs WHERE lan = 2;
UPDATE tmptable SET lan = 1;
INSERT INTO blogs SELECT * FROM tmptable; dump database tmptable;
Run Code Online (Sandbox Code Playgroud)
但是对于科西嘉,我得到重复的关键错误......
我该如何预防呢?
-编辑-
我试过了:
CREATE TEMPORARY TABLE tmptable SELECT * FROM blogs WHERE lan = 2;
UPDATE tmptable SET lan = 1;
ALTER TABLE tmptable DROP id;
INSERT INTO blogs SELECT * FROM tmptable; dump database tmptable;
Run Code Online (Sandbox Code Playgroud)
但那么 Column count doesn't match value count at row …
我的脚本中有一些临时表,我将导出到csv文件.我还需要导出字段名称及其值.如何获取临时表的字段名称?
我想创建一个临时表并在redshift中调用此临时表?我试过这个,但得到了一条错误信息.
select top 10 * into #a from public.item_activity where item_act_timestamp < DATEADD(day,-1,getdate());
select * from #a
Run Code Online (Sandbox Code Playgroud)
"错误:42P01:关系"#a"不存在"
MATLAB有一个令人烦恼的特性,有时需要你创建临时变量,例如temporary_variable,为了创建一些在另一个变量中使用的东西,之后临时变量不会在代码中的任何其他地方使用.clear temporary_variable在临时变量完成工作后使用是否有性能优势?处理这种情况最有效的方法是什么?感谢您的见解!
我试图在Firebird数据库中的存储过程中创建临时表.
我的存储过程列表:
SET TERM ^ ;
CREATE PROCEDURE initNATIONALHEALTHFUNDS
AS BEGIN
CREATE GLOBAL TEMPORARY TABLE temp_FUNDS
(
NATIONALHEALTHFUNDID Integer NOT NULL,
NAME Varchar(128) NOT NULL,
CODE Integer NOT NULL
)
ON COMMIT PRESERVE ROWS;
commit;
INSERT INTO tempFUNDS (NATIONALHEALTHFUNDID, CODE, NAME) VALUES ( 01 ,01 , 'Some Foundation');
MERGE INTO NATIONALHEALTHFUNDS AS target
USING tempFUNDS AS source
ON target.NATIONALHEALTHFUNDID = source.NATIONALHEALTHFUNDID
WHEN NOT MATCHED THEN
INSERT (NATIONALHEALTHFUNDID, CODE, NAME) VALUES (source.NATIONALHEALTHFUNDID, source.CODE, source.NAME);
drop TABLE tempFUNDS;
END^
SET TERM ; …Run Code Online (Sandbox Code Playgroud) temp-tables ×10
sql ×2
sql-server ×2
clone ×1
database ×1
db2 ×1
execute ×1
firebird-3.0 ×1
function ×1
matlab ×1
mysql ×1
openedge ×1
oracle ×1
performance ×1
postgresql ×1
progress-4gl ×1
syntax-error ×1
t-sql ×1