在ADW中运行sql脚本时出错

时间:2018-06-12 09:28:57

标签: azure azure-sqldw

我得到的错误是这样的:
Insert values语句只能包含常量文字值或变量引用。

这些是我收到错误的陈述:

INSERT INTO val.summary_numbers (metric_name, metric_val, dt_create) VALUES ('Total IP Enconters',
                                                                             (SELECT
                                                                                count(DISTINCT encounter_id)
                                                                              FROM prod.encounter
                                                                              WHERE encounter_type = 'Inpatient')

                                                                             ,
                                                                                (SELECT min(mod_loadidentifier)
                                                                                 FROM ccsm.stg_demographics_baseline)

                                                                             );


INSERT INTO val.summary_numbers (metric_name, metric_val, dt_create) VALUES ('Total 30d Readmits',
                                                                  (SELECT
                                                                     count(DISTINCT encounter_id)
                                                                   FROM prod.encounter_attr
                                                                   WHERE
                                                                     attr_name = 'day_30_readmit' AND attr_value = 1)

                                                                  ,
                                                                     (SELECT min(mod_loadidentifier)
                                                                      FROM ccsm.stg_demographics_baseline));

2 个答案:

答案 0 :(得分:2)

更改您的查询:

insert into val.summary_numbers
select
        'Total IP Enconters',
        (select  count(distinct encounter_id)
         from    prod.encounter
         where   encounter_type = 'Inpatient'),
        (select  min(mod_loadidentifier)
         from    ccsm.stg_demographics_baseline)

答案 1 :(得分:0)

使用ADW服务时,我建议您考虑使用可能与adding it to .pro file结合使用的CTAS操作。 RENAME是一个元数据操作,因此它很快并且CTAS是并行的,其中INSERT INTO将是逐行的。

您可能仍然有一个数据相关的问题,很难通过create table语句确定。

谢谢