我在語言'plpgsql'中遇到了sql問題。sql觸發器更新並插入
問題是先在客戶表中添加一個新的列clean_phone。然後在插入和更新時使用觸發器來將clean_phone填充到random_string()函數。這是我做的。
創建新列
alter table customers
add clean_phone varchar(15);
觸發
create or replace function clean_function()
returns trigger as
$$
begin
new.clean_phone = random_string();
return new;
end;
$$
language 'plpgsql';
drop trigger clean_phone on customers;
create trigger clean_phone
before update or insert
on customers
for each row
execute procedure clean_function();
而且最終,顯示錶
select name,clean_phone from customers;
我的問題是在我運行的所有代碼,並顯示結果,clean_phone列仍然沒有顯示任何內容。那麼,我該如何解決這個問題?
你插入或更新表中的東西嗎?觸發器只在這些情況下被調用。 –
我試圖插入/更新任何東西,但它顯示錯誤,說明clean_phone不存在 – youlingjun0505
錯誤:值變得太長,因爲類型字符變化(15) SQL狀態:22001 上下文:PL/pgSQL函數clean_function()第3行 – youlingjun0505