PostgreSql DO以及有条件的创建函数

例子:比如在数据库必须是UTF-8编码时,才创建某个函数,则可以将函数包裹在code中。

DO $DO$   
DECLARE coding varchar;  
BEGIN  
SELECT getdatabaseencoding() INTO coding;  
IF coding = 'UTF8' THEN  
EXECUTE 'CREATE OR REPLACE FUNCTION pg_catalog.lengthb(character) RETURNS integer AS $$  
    SELECT CASE octet_length($1)  
     WHEN 0 THEN NULL  
    ELSE octet_length($1) END;  
$$ LANGUAGE SQL IMMUTABLE STRICT;  
COMMENT ON FUNCTION pg_catalog.lengthb(character) IS ''Returns the length of the specified string, using bytes instead of characters'';';   
END IF;  
END$DO$;  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值