簡體   English   中英

如何在准備好的語句中有條件地調用過程?

[英]How to conditionally call procedure in prepared statement?

我正在嘗試並沒有做類似的事情:

SELECT CASE WHEN 'Cleared' = ? THEN call alarm_clear_check(?, ?) ELSE call alarm_create(?,?,?,?) END

不幸的是,我無法將它們合並到一個過程中,因此我需要在一個語句中像這樣調用它們。

到目前為止,似乎沒有辦法,但我想知道我是否可以像這樣有條件地調用一個過程?

你可以像這樣使用 PL/pgSQL 來做到這一點:

do $$
begin
if 'Cleared' = ? 
   call alarm_clear_check(?, ?) 
else 
   call alarm_create(?,?,?,?)
end if   
end $$

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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