将结果存储到变量或表中,以后我可以使用它
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将结果存储到变量或表中,以后我可以使用它相关的知识,希望对你有一定的参考价值。
我的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给出以下错误
在“BEGIN-OF-STATEMENT”之后发现了意外的标记“CREATE TABLE temp_table”。预期的令牌可能包括:“”.. SQLCODE = -104,SQLSTATE = 42601,DRIVER = 3.62.57 SQL代码:-104,SQL状态:42601
Br Sara
答案
我正在使用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%'
另一答案
只需使用它:
select paramkey INTO #temp_table
from parameter.p1val2 where paramname = 'BANKHOLIDAYS' and paramkey LIKE 'FI%'
SELECT * FROM #temp_table
现在稍后使用#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%')
用于mysql临时表创建
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也有一些语法变化。
以上是关于将结果存储到变量或表中,以后我可以使用它的主要内容,如果未能解决你的问题,请参考以下文章