Sql 将结果存储到变量或表中,以便以后使用
我的SQL查询返回132行1列,我想存储它们以供以后使用 我已经看过很多关于StackOverflow的帖子。我正在尝试以下内容,但没有任何帮助: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
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的。如果不正确,则相应地添加问号。可能重复