Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将结果存储到变量或表中,以便以后使用_Sql_Db2 - Fatal编程技术网

Sql 将结果存储到变量或表中,以便以后使用

Sql 将结果存储到变量或表中,以便以后使用,sql,db2,Sql,Db2,我的SQL查询返回132行1列,我想存储它们以供以后使用 我已经看过很多关于StackOverflow的帖子。我正在尝试以下内容,但没有任何帮助: DECLARE @store SET @store=(select paramkey from parameter.p1val2 where paramname = 'BANKHOLIDAYS' and paramkey LIKE 'FI%') 是不是我必须使用临时表来存储所有行?所以我试着跟着 CREATE TABLE temp_table se

我的SQL查询返回132行1列,我想存储它们以供以后使用

我已经看过很多关于StackOverflow的帖子。我正在尝试以下内容,但没有任何帮助:

DECLARE @store
SET @store=(select paramkey from parameter.p1val2 where paramname = 'BANKHOLIDAYS' and paramkey LIKE 'FI%')
是不是我必须使用临时表来存储所有行?所以我试着跟着

CREATE TABLE temp_table select paramkey from parameter.p1val2 where paramname = 'BANKHOLIDAYS' and paramkey LIKE 'FI%'
它给出了以下错误

发现以下意外标记“创建表临时表” “声明的开始”。预期的令牌可能包括:“”。。 SQLCODE=-104,SQLSTATE=42601,DRIVER=3.62.57 SQL代码:-104,SQL 州:42601

溴 Sara

就像这样使用它:

select paramkey INTO #temp_table 
from parameter.p1val2 where paramname = 'BANKHOLIDAYS' and paramkey LIKE 'FI%'

SELECT * FROM #temp_table
稍后使用临时表格

对于MySQL,它将是

CREATE TEMPORARY TABLE foo SELECT paramkey FROM ...
-- Now use it ...
DROP TEMPORARY TABLE foo;

用于mssql服务器临时表创建

  SELECT  * INTO ##tempTable FROM (select paramkey from parameter.p1val2
            where paramname = 'BANKHOLIDAYS' and paramkey   LIKE 'FI%')
    CREATE TEMPORARY TABLE temp_table
   (select paramkey from parameter.p1val2
    where paramname = 'BANKHOLIDAYS' and paramkey   LIKE 'FI%');
用于创建mysql临时表

  SELECT  * INTO ##tempTable FROM (select paramkey from parameter.p1val2
            where paramname = 'BANKHOLIDAYS' and paramkey   LIKE 'FI%')
    CREATE TEMPORARY TABLE temp_table
   (select paramkey from parameter.p1val2
    where paramname = 'BANKHOLIDAYS' and paramkey   LIKE 'FI%');

在Oracle中,您可以使用

CREATE TABLE tempTable as SELECT * FROM originTable WHERE x=y;
DB2也有类似的功能

CREATE TABLE tempTABLE AS (
    SELECT *
    FROM originTABLE WHERE x=y
) WITH DATA

当然,其他DBMS也有这种功能,但有一些语法上的变化。

我当时使用的是db2,下面的内容实际上对我很有用,谢谢大家

CREATE TABLE temp_table (paramkey varchar(200))
insert into temp_table 

select substr(paramkey,3) from parameter.p1val2 where paramname = 'BANKHOLIDAYS' and paramkey LIKE 'FI%'

您使用的是MySQL还是MS SQL Server?根据错误代码,我假设这是IBM的。如果不正确,则相应地添加问号。可能重复