0
我試圖連接到Redshift集羣並運行帶有參數的SQL腳本,但出現錯誤。將參數傳遞到psql命令時出錯
下面是bash命令:
psql -v schema="$REDSHIFT_SCHEMA" -h "$REDSHIFT_HOSTNAME" -d "$REDSHIFT_DATABASE" -U "$REDSHIFT_USERNAME" -p "$REDSHIFT_PORT" -f "nulltest.sql" -v inputStartDateId=20170318 -v inputEndDateId=20170404
和nulltest.sql
內容是:
select
COALESCE($inputStartDateId, min(StartDateID)),
COALESCE($inputEndDateId, max(EndDateID))
from (
select
row_number()over(order by FiscalWeekID desc) as rownum,
FiscalWeekID,
min(dateid)StartDateID
,max(dateid)EndDateID
from
dm.dim_Time
where DateKey < getdate()
group by FiscalWeekID
) a
where rownum <= 3
我得到的錯誤是:
psql:nulltest.sql:15: ERROR: syntax error at or near "$"
LINE 2: COALESCE($inputStartDateId, max(StartDateID))
我是否調用參數在SQL腳本中不正確?在運行時將值傳遞給參數時,SQL通過Aginity運行得非常好。我不知道什麼是應該通過雖然
頂部最小/最大和內部之間有什麼區別? – maSTAShuFu
您是否在傳遞日期以創建日期範圍或其他內容 – maSTAShuFu
內部幫助定義並查找StarDateID和EndDateID。我傳入參數,因爲有時我必須手動設置日期 – simplycoding