将结果存储到变量或表中,以后我可以使用它

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也有一些语法变化。

以上是关于将结果存储到变量或表中,以后我可以使用它的主要内容,如果未能解决你的问题,请参考以下文章

如何将选择结果分配给变量?

如何将配置单元查询结果以json格式存储在文件中?

存储结果集以供以后获取

在不使用第三个变量或表的情况下交换表中两列的值

在SQLSERVER里面,如何写一个存储过程来创建跟踪?

每次访问变量时,如何在将结果存储在变量中后再次调用我的函数?