高斯(gaussDB)数据库主键及复合主键的设置/查询完整表结构/于表中增加字段/多表关联UPDATE/定位字符在字符串中的位置/月初及上月/以select来建立临时表/有关gds生成文件传输的解释
1.单一主键:只需要在字段类型后写上 PRIMARY_KEY即可;例:CREATE TABLE A.TABLE( DT DATE PRIMARY KEY);复合主键:于字段编写最下方设置约束 CONSTRAINT 约束名 PRIMARY KEY(主键名);例:CREATE TABLE A.TABLE( DT DATE NOT NULL,NAME VARYING(255) NOT NULL,CONS
1.主键及复合主键的设置:
(1)单一主键:只需要在字段类型后写上 PRIMARY_KEY即可;
例:CREATE TABLE A.TABLE
( DT DATE PRIMARY KEY);
(2)复合主键:于字段编写最下方设置约束 CONSTRAINT 约束名 PRIMARY KEY(主键名);
例:CREATE TABLE A.TABLE
( DT DATE NOT NULL,
NAME VARYING(255) NOT NULL,
CONSTRAINT YUESHU PRIMARY KEY(DT,NAME)
);
2.高斯数据库中同一数据库下约束的名字需要不一样。
3.查询完整表结构:SELECT PG_CATALOG.PG_GET_TABLEDEF('表名')
4.增加字段:ALTER TABLE 表名 ADD 字段名 字段类型 是否null
5.多表关联UPDATE:
UPDATE 表A T1
SET T1.字段A = T2.字段B
FROM 表B T2
WHERE T1.关联字段 = T2.关联字段
AND 其余的两表的条件
6.定位字符在字符串中的位置(类似INDEX函数):
INSTR(TEXT,TEXT,INT,INT)
返回满足条件的位置(INT),第一个INT为字符开始匹配的起始位置;第二个INT为匹配的次数;可不写。
例:SELECT INSTR('abcdabcdabcd','bcd',2,2) 返回结果为 6 。
7.月初:date_trunc('month',日期)
上月:add_months(日期,-1),输出结果为在月的基础上进行加减。
8.以select来建立临时表:
CREATE TEMP TABLE 临时表名 AS SELECT……
之后填写正常的SELECT查询语句即可。
9.有关GDS数据传输:
基本建表SQL:
CREATE FOREIGN TABLE 表名
( A varchar(10) not null )
SERVER gsmpp_server
OPTIONS
( LOCATION 'gsfs:IP:端口号/路径',
FORMAT 'CSV',
DELIMITER ',',
ENCODING 'utf8',
HEADER 'false',
FILL_MISSING_FIELDS 'true',
IGNORE_EXTRA_DATA 'true'
)
LOG INTO product_info_err
PER NODE REJECT LIMIT 'unlimited'
;
更多推荐
所有评论(0)