簡體   English   中英

postgresql:將變量傳遞給sql查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM