簡體   English   中英

在插入之前觸發,initcap一個值(PostgreSQL)

[英]Trigger, initcap a value before a insert (PostgreSQL)

我知道有一個initcap()函數,它將對“字符串”執行轉換。 但是我想知道如何在將列名中的值插入到表客戶端之前執行執行此功能的觸發器。 換句話說,如何聲明我的函數“ func()”。

CREATE TRIGGER trigg
BEFORE INSERT
ON client
FOR EACH ROW
EXECUTE PROCEDURE func()

CREATE FUNCTION func()
returns trigger as 
$BODY$

begin
**???**
end;
$BODY$ language plpgsql;

您可以通過OLD偽記錄在觸發觸發器的更改之前訪問記錄,而在觸發器函數中可以通過NEW偽記錄訪問更改之后的記錄。 您也可以更改后者。

因此要更改您的客戶使用的名稱

NEW.name := initcap(NEW.name);
RETURN NEW;

在您的觸發功能主體中。

有關更多信息,請參見42.9。 觸發程序

暫無
暫無

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

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