本页介绍天翼云TeleDB数据库存储过程开发的判断语句。 IF...THEN...END IF plaintext teledb CREATE OR REPLACE PROCEDURE pif() AS $$ BEGIN IF random()>0.5 THEN RAISE NOTICE '随机数大于0.5'; END IF; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pif(); NOTICE: 随机数大于0.5 CALL teledb ..THEN...ELSE...END IF plaintext teledb CREATE OR REPLACE PROCEDURE pifelse() AS $$ BEGIN IF random()>0.99 THEN RAISE NOTICE '随机数大于0.99'; ELSE RAISE NOTICE '随机数小于或等于0.99'; END IF; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pifelse(); NOTICE: 随机数小于或等于0.99 CALL teledb IF...THEN...ELSIF...THEN...ELSE...END IF plaintext teledb CREATE OR REPLACE PROCEDURE pifelsif() AS $$ DECLARE vfloat8 float8 : random(); BEGIN IF vfloat8>0.99 THEN RAISE NOTICE '随机数大于0.99'; ELSIF vfloat8>0.5 THEN RAISE NOTICE '随机数大于0.50'; ELSIF vfloat8>0.25 THEN RAISE NOTICE '随机数大于0.25'; ELSE RAISE NOTICE '随机数小于或等于0.25'; END IF; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pifelsif(); NOTICE: 随机数大于0.50 CALL CASE 语句 plaintext teledb CREATE OR REPLACE PROCEDURE pcase() AS $$ DECLARE vfloat8 float8 : random(); BEGIN CASE WHEN vfloat8>0.99 THEN RAISE NOTICE '随机数大于0.99'; WHEN vfloat8>0.5 THEN RAISE NOTICE '随机数大于0.50'; WHEN vfloat8>0.25 THEN RAISE NOTICE '随机数大于0.25'; ELSE RAISE NOTICE '随机数小于或等于0.25'; END CASE; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb
本页介绍天翼云TeleDB数据库存储过程开发的判断语句。 IF...THEN...END IF plaintext teledb CREATE OR REPLACE PROCEDURE pif() AS $$ BEGIN IF random()>0.5 THEN RAISE NOTICE '随机数大于0.5'; END IF; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pif(); NOTICE: 随机数大于0.5 CALL teledb ..THEN...ELSE...END IF plaintext teledb CREATE OR REPLACE PROCEDURE pifelse() AS $$ BEGIN IF random()>0.99 THEN RAISE NOTICE '随机数大于0.99'; ELSE RAISE NOTICE '随机数小于或等于0.99'; END IF; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pifelse(); NOTICE: 随机数小于或等于0.99 CALL teledb IF...THEN...ELSIF...THEN...ELSE...END IF plaintext teledb CREATE OR REPLACE PROCEDURE pifelsif() AS $$ DECLARE vfloat8 float8 : random(); BEGIN IF vfloat8>0.99 THEN RAISE NOTICE '随机数大于0.99'; ELSIF vfloat8>0.5 THEN RAISE NOTICE '随机数大于0.50'; ELSIF vfloat8>0.25 THEN RAISE NOTICE '随机数大于0.25'; ELSE RAISE NOTICE '随机数小于或等于0.25'; END IF; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pifelsif(); NOTICE: 随机数大于0.50 CALL CASE 语句 plaintext teledb CREATE OR REPLACE PROCEDURE pcase() AS $$ DECLARE vfloat8 float8 : random(); BEGIN CASE WHEN vfloat8>0.99 THEN RAISE NOTICE '随机数大于0.99'; WHEN vfloat8>0.5 THEN RAISE NOTICE '随机数大于0.50'; WHEN vfloat8>0.25 THEN RAISE NOTICE '随机数大于0.25'; ELSE RAISE NOTICE '随机数小于或等于0.25'; END CASE; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb
本页介绍天翼云TeleDB数据库PL/pgsql的触发器函数。 INSERT事件触发器函数 函数功能实现字段值ttrigger.nc值重写。 plaintext teledb CREATE TABLE ttrigger teledb ( teledb( id integer NOT NULL, teledb( nc text NOT NULL teledb( ); CREATE TABLE teledb CREATE OR REPLACE FUNCTION ttriggerinserttriggerfunc() RETURNS trigger AS teledb $$ teledb$ BEGIN teledb$ IF NEW.nc '' THEN teledb$ NEW.nc 'teledbpg' random()::text; teledb$ END IF; teledb$ RETURN NEW; teledb$ END; teledb$ $$ teledb LANGUAGE plpgsql; CREATE FUNCTION teledb CREATE TRIGGER ttriggerinserttrigger BEFORE INSERT ON ttrigger FOR EACH ROW EXECUTE PROCEDURE ttriggerinserttriggerfunc(); CREATE TRIGGER teledb INSERT INTO ttrigger values(1,''); INSERT 0 1 teledb SELECT FROM ttrigger ; id nc + 1 teledbpg0.426093454472721 (1 row) 注意使用BEFORE,不能使用AFTER,否则重写失效。 UPDATE 事件触发器函数 不准许更新ttrigger.nc字段值为teledbpg。 plaintext teledb CREATE OR REPLACE FUNCTION ttriggerupdatetriggerfunc() RETURNS trigger AS teledb $$ teledb$ BEGIN teledb$ 不准许ttrigger.nc值为 teledbpg teledb$ IF NEW.nc 'teledbpg' THEN teledb$ NEW.nc OLD.nc ; teledb$ END IF; teledb$ RETURN NEW; teledb$ END; teledb$ $$ teledb LANGUAGE plpgsql; CREATE FUNCTION teledb CREATE TRIGGER ttriggerupdatetrigger BEFORE UPDATE ON ttrigger FOR EACH ROW EXECUTE PROCEDURE ttriggerupdatetriggerfunc(); CREATE TRIGGER teledb
本页介绍天翼云TeleDB数据库存储过程开发的判断语句。 IF...THEN...END IF plaintext teledb CREATE OR REPLACE PROCEDURE pif() AS $$ BEGIN IF random()>0.5 THEN RAISE NOTICE '随机数大于0.5'; END IF; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pif(); NOTICE: 随机数大于0.5 CALL teledb ..THEN...ELSE...END IF plaintext teledb CREATE OR REPLACE PROCEDURE pifelse() AS $$ BEGIN IF random()>0.99 THEN RAISE NOTICE '随机数大于0.99'; ELSE RAISE NOTICE '随机数小于或等于0.99'; END IF; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pifelse(); NOTICE: 随机数小于或等于0.99 CALL teledb IF...THEN...ELSIF...THEN...ELSE...END IF plaintext teledb CREATE OR REPLACE PROCEDURE pifelsif() AS $$ DECLARE vfloat8 float8 : random(); BEGIN IF vfloat8>0.99 THEN RAISE NOTICE '随机数大于0.99'; ELSIF vfloat8>0.5 THEN RAISE NOTICE '随机数大于0.50'; ELSIF vfloat8>0.25 THEN RAISE NOTICE '随机数大于0.25'; ELSE RAISE NOTICE '随机数小于或等于0.25'; END IF; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pifelsif(); NOTICE: 随机数大于0.50 CALL CASE 语句 plaintext teledb CREATE OR REPLACE PROCEDURE pcase() AS $$ DECLARE vfloat8 float8 : random(); BEGIN CASE WHEN vfloat8>0.99 THEN RAISE NOTICE '随机数大于0.99'; WHEN vfloat8>0.5 THEN RAISE NOTICE '随机数大于0.50'; WHEN vfloat8>0.25 THEN RAISE NOTICE '随机数大于0.25'; ELSE RAISE NOTICE '随机数小于或等于0.25'; END CASE; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb
本页介绍天翼云TeleDB数据库存储过程开发的判断语句。 IF...THEN...END IF plaintext teledb CREATE OR REPLACE PROCEDURE pif() AS $$ BEGIN IF random()>0.5 THEN RAISE NOTICE '随机数大于0.5'; END IF; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pif(); NOTICE: 随机数大于0.5 CALL teledb ..THEN...ELSE...END IF plaintext teledb CREATE OR REPLACE PROCEDURE pifelse() AS $$ BEGIN IF random()>0.99 THEN RAISE NOTICE '随机数大于0.99'; ELSE RAISE NOTICE '随机数小于或等于0.99'; END IF; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pifelse(); NOTICE: 随机数小于或等于0.99 CALL teledb IF...THEN...ELSIF...THEN...ELSE...END IF plaintext teledb CREATE OR REPLACE PROCEDURE pifelsif() AS $$ DECLARE vfloat8 float8 : random(); BEGIN IF vfloat8>0.99 THEN RAISE NOTICE '随机数大于0.99'; ELSIF vfloat8>0.5 THEN RAISE NOTICE '随机数大于0.50'; ELSIF vfloat8>0.25 THEN RAISE NOTICE '随机数大于0.25'; ELSE RAISE NOTICE '随机数小于或等于0.25'; END IF; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pifelsif(); NOTICE: 随机数大于0.50 CALL CASE 语句 plaintext teledb CREATE OR REPLACE PROCEDURE pcase() AS $$ DECLARE vfloat8 float8 : random(); BEGIN CASE WHEN vfloat8>0.99 THEN RAISE NOTICE '随机数大于0.99'; WHEN vfloat8>0.5 THEN RAISE NOTICE '随机数大于0.50'; WHEN vfloat8>0.25 THEN RAISE NOTICE '随机数大于0.25'; ELSE RAISE NOTICE '随机数小于或等于0.25'; END CASE; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb
本页介绍天翼云TeleDB数据库PL/pgsql的触发器函数。 INSERT事件触发器函数 函数功能实现字段值ttrigger.nc值重写。 plaintext teledb CREATE TABLE ttrigger teledb ( teledb( id integer NOT NULL, teledb( nc text NOT NULL teledb( ); CREATE TABLE teledb CREATE OR REPLACE FUNCTION ttriggerinserttriggerfunc() RETURNS trigger AS teledb $$ teledb$ BEGIN teledb$ IF NEW.nc '' THEN teledb$ NEW.nc 'teledbpg' random()::text; teledb$ END IF; teledb$ RETURN NEW; teledb$ END; teledb$ $$ teledb LANGUAGE plpgsql; CREATE FUNCTION teledb CREATE TRIGGER ttriggerinserttrigger BEFORE INSERT ON ttrigger FOR EACH ROW EXECUTE PROCEDURE ttriggerinserttriggerfunc(); CREATE TRIGGER teledb INSERT INTO ttrigger values(1,''); INSERT 0 1 teledb SELECT FROM ttrigger ; id nc + 1 teledbpg0.426093454472721 (1 row) 注意使用BEFORE,不能使用AFTER,否则重写失效。 UPDATE 事件触发器函数 不准许更新ttrigger.nc字段值为teledbpg。 plaintext teledb CREATE OR REPLACE FUNCTION ttriggerupdatetriggerfunc() RETURNS trigger AS teledb $$ teledb$ BEGIN teledb$ 不准许ttrigger.nc值为 teledbpg teledb$ IF NEW.nc 'teledbpg' THEN teledb$ NEW.nc OLD.nc ; teledb$ END IF; teledb$ RETURN NEW; teledb$ END; teledb$ $$ teledb LANGUAGE plpgsql; CREATE FUNCTION teledb CREATE TRIGGER ttriggerupdatetrigger BEFORE UPDATE ON ttrigger FOR EACH ROW EXECUTE PROCEDURE ttriggerupdatetriggerfunc(); CREATE TRIGGER teledb
本页介绍天翼云TeleDB数据库存储过程开发的判断语句。 IF...THEN...END IF plaintext teledb CREATE OR REPLACE PROCEDURE pif() AS $$ BEGIN IF random()>0.5 THEN RAISE NOTICE '随机数大于0.5'; END IF; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pif(); NOTICE: 随机数大于0.5 CALL teledb ..THEN...ELSE...END IF plaintext teledb CREATE OR REPLACE PROCEDURE pifelse() AS $$ BEGIN IF random()>0.99 THEN RAISE NOTICE '随机数大于0.99'; ELSE RAISE NOTICE '随机数小于或等于0.99'; END IF; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pifelse(); NOTICE: 随机数小于或等于0.99 CALL teledb IF...THEN...ELSIF...THEN...ELSE...END IF plaintext teledb CREATE OR REPLACE PROCEDURE pifelsif() AS $$ DECLARE vfloat8 float8 : random(); BEGIN IF vfloat8>0.99 THEN RAISE NOTICE '随机数大于0.99'; ELSIF vfloat8>0.5 THEN RAISE NOTICE '随机数大于0.50'; ELSIF vfloat8>0.25 THEN RAISE NOTICE '随机数大于0.25'; ELSE RAISE NOTICE '随机数小于或等于0.25'; END IF; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb CALL pifelsif(); NOTICE: 随机数大于0.50 CALL CASE 语句 plaintext teledb CREATE OR REPLACE PROCEDURE pcase() AS $$ DECLARE vfloat8 float8 : random(); BEGIN CASE WHEN vfloat8>0.99 THEN RAISE NOTICE '随机数大于0.99'; WHEN vfloat8>0.5 THEN RAISE NOTICE '随机数大于0.50'; WHEN vfloat8>0.25 THEN RAISE NOTICE '随机数大于0.25'; ELSE RAISE NOTICE '随机数小于或等于0.25'; END CASE; END; $$ LANGUAGE plpgsql; CREATE PROCEDURE teledb