我的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%'
IT出现以下错误
发现以下意外令牌“ CREATE TABLE temp_table” “声明开头”。预期的令牌可能包括:“”。 SQLCODE = -104,SQLSTATE = 42601,DRIVER = 3.62.57 SQL代码:-104,SQL 状态:42601
溴 萨拉
答案 0 :(得分:1)
我正在使用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%'
答案 1 :(得分:0)
就像使用它一样:
select paramkey INTO #temp_table
from parameter.p1val2 where paramname = 'BANKHOLIDAYS' and paramkey LIKE 'FI%'
SELECT * FROM #temp_table
现在稍后使用#temp_table。
答案 2 :(得分:0)
对于MySQL,应该是
CREATE TEMPORARY TABLE foo SELECT paramkey FROM ...
-- Now use it ...
DROP TEMPORARY TABLE foo;
答案 3 :(得分:0)
用于创建mssql服务器临时表
SELECT * INTO ##tempTable FROM (select paramkey from parameter.p1val2
where paramname = 'BANKHOLIDAYS' and paramkey LIKE 'FI%')
用于创建mysql临时表
CREATE TEMPORARY TABLE temp_table
(select paramkey from parameter.p1val2
where paramname = 'BANKHOLIDAYS' and paramkey LIKE 'FI%');
答案 4 :(得分:0)
在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在语法上也有所不同。