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