本页介绍天翼云TeleDB数据库的COLUMN设计规范。 建议能用数值类型的,就不用字符类型。 建议能用varchar(N)就不用char(N),以利于节省存储空间。 建议能用varchar(N)就不用text,varchar。 建议使用default NULL,而不用 default '',以节省存储空间。 建议如有国际货业务的话,使用timestamp with time zone(timestamptz),而不用 timestamp without time zone,避免时间函数在对于不同时区的时间点返回值不同,也为业务国际化扫清障碍。 建议使用NUMERIC(precision,scale)来存储货币金额和其它要求精确计算的数值, 而不建议使用real,double precision。
本页介绍天翼云TeleDB数据库的COLUMN设计规范。 建议能用数值类型的,就不用字符类型。 建议能用varchar(N)就不用char(N),以利于节省存储空间。 建议能用varchar(N)就不用text,varchar。 建议使用default NULL,而不用 default '',以节省存储空间。 建议如有国际货业务的话,使用timestamp with time zone(timestamptz),而不用 timestamp without time zone,避免时间函数在对于不同时区的时间点返回值不同,也为业务国际化扫清障碍。 建议使用NUMERIC(precision,scale)来存储货币金额和其它要求精确计算的数值, 而不建议使用real,double precision。
本页介绍天翼云TeleDB数据库创建一个与函数同名的存储过程的错误提示和替换方案。 如创建一个与函数同名的存储过程会提示function xxx already exists with same argument types。 teledb CREATE OR REPLACE FUNCTION proc1() RETURNS void AS $$ begin raise notice 'Hello teledbpg'; end; $$ LANGUAGE PLPGSQL; CREATE FUNCTION teledb CREATE PROCEDURE proc1() AS $$ begin raise notice 'Hello teledbpg'; end; $$ LANGUAGE PLPGSQL; ERROR: function "proc1" already exists with same argument types teledb 如果要替换,则提示。 teledb CREATE OR REPLACE PROCEDURE proc1() AS $$ begin raise notice 'Hello teledbpg'; end; $$ LANGUAGE PLPGSQL; ERROR: cannot change routine kind DETAIL: "proc1" is a function. teledb