【问题标题】:Use outcome of SQL query as value for variable使用 SQL 查询的结果作为变量的值
【发布时间】:2016-11-30 17:26:09
【问题描述】:

我有一个查询,它提取了许多 API 的性能测量值,以及我想随着时间的推移将这些测量值保存到一个文件夹中的不同文件中。假设每小时运行一次,输出一个文件。

Invantive 脚本语句

local export results as "${exportfilename}" format xml

当您正确设置了exportfilename 时可以这样做。

使用 Oracle SQL*Plus,您可以使用 column ... new_value 语法将查询的结果存储在变量中。

如何使用 Invantive SQL 查询的结果设置exportfile

【问题讨论】:

    标签: invantive-sql invantive-query-tool


    【解决方案1】:

    解决方案是使用${outcome:row,column} 语法,如下所示:

    local define outfolder "c:\temp"
    
    select sdy3.value || '-' || lpad(year(sysdate), 4, '0') || lpad(month(sysdate), 2, '0') || lpad(day(sysdate), 2, '0') || lpad(hour(sysdate), 2, '0') || lpad(minute(sysdate), 2, '0') ||'.xml' file_name
    from   exactonlinerest..systemdatacontainerproperties sdy1
    join   exactonlinerest..systemdatacontainerproperties sdy2
    on     sdy2.data_container_alias = 'default'
    and    sdy2.name = 'provider-description'
    join   exactonlinerest..systemdatacontainerproperties sdy3
    on     sdy3.data_container_alias = 'default'
    and    sdy3.name = 'provider-short-name'
    where  sdy1.data_container_alias = 'default'
    and    sdy1.name = 'data-container-id'
    
    local define exportfilename "${outfolder}\${outcome:0,0}"
    
    <<< Run actual SQL>>>
    
    local export results as "${exportfilename}" format xml
    

    ${outcome:...,...} 语法将相应行号 (0..max) 和列号 (0..max) 的字符串表示形式作为值放入指定的变量名称中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-09
      • 2016-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-03
      • 1970-01-01
      相关资源
      最近更新 更多