[英]postgresql: pass variable to sql query
我正在嘗試使用PostgreSQL將變量傳遞給select語句。 總體目標是在存儲過程中使用此邏輯,在該存儲過程中,變量deadline_interval
將作為輸入參數。 到目前為止,這是我嘗試過的方法:
DO
$$
DECLARE
date_deadline date;
deadline_interval varchar := '6 month';
BEGIN
date_deadline := (SELECT CURRENT_DATE - INTERVAL deadline_interval);
RAISE NOTICE 'here: %', date_deadline;
END;
$$
不幸的是,在select語句中未定義變量deadline_interval
。 我在這里做錯了什么?
使用強制轉換而不是前綴。
...
date_deadline := (SELECT CURRENT_DATE - deadline_interval::interval);
...
或者,甚至更好的是,從一開始就將interval
作為deadline_interval
interval
類型。
DO
$$
DECLARE
date_deadline date;
deadline_interval interval := INTERVAL '6 month';
BEGIN
date_deadline := (SELECT CURRENT_DATE - deadline_interval);
RAISE NOTICE 'here: %', date_deadline;
END;
$$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.