【问题标题】:Storing results into variable or table where I can use it later将结果存储到变量或表中,以便以后使用
【发布时间】:2018-08-30 12:49:47
【问题描述】:

我的 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%'

它给出了以下错误

在下面发现了一个意外的标记“CREATE TABLE temp_table” “声明开始”。预期的标记可能包括:“”.. SQLCODE=-104,SQLSTATE=42601,驱动程序=3.62.57 SQL 代码:-104,SQL 状态:42601

溴 萨拉

【问题讨论】:

标签: sql db2


【解决方案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%'

【讨论】:

    【解决方案2】:

    就像这样使用它:

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

    现在稍后使用#temp_table。

    【讨论】:

      【解决方案3】:

      对于 MySQL,它会是

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

      【讨论】:

        【解决方案4】:

        用于创建 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%');
        

        【讨论】:

          【解决方案5】:

          在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 也有类似的语法变化。

          【讨论】:

            猜你喜欢
            • 2019-10-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-03-27
            • 2011-09-17
            相关资源
            最近更新 更多