logo资料库

GP数据库培训(word文档:详细讲解).docx

第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
资料共16页,剩余部分请下载后查看
GP基本语法
GP SQL案例
GP问题
GP安装配置
ORACLE迁移到GP需要转换的数据类型:
SQL迁移到GP需要转换的数据类型:
Oracle数据导入到GP方法:
GP 基本语法 参考:PostgreSQL_8.2.3_中文文档.chm 创建新表 CREATE TABLE weather ( city temp_lo temp_hi prcp date varchar(80), int, int, real, date -- 最低气温 -- 最高气温 -- 降水量 ) DISTRIBUTED BY (主键名); 向表中添加行 INSERT 语句用于向表中添加行: INSERT INTO weather ()VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27'); 查询数据: SELECT city, temp_lo, temp_hi, prcp, date FROM weather; weather.temp_lo, weather.city, SELECT cities.location FROM weather, cities WHERE cities.name = weather.city; weather.temp_hi,weather.prcp, weather.date, select * from "000".tbnode limit 50 更新数据: 你可以用 UPDATE 命令更新现有的行。假设你发现所有 11 月 28 日的温度计数都低了两 度,那么你就可以用下面的方式更新数据: UPDATE weather SET temp_hi = temp_hi - 2, WHERE date > '1994-11-28'; temp_lo = temp_lo - 2 UPDATE TempGoodsPSSM_Goods temp SET PurchWholeAmount = res.PurchWholeAmount, OutCostTax = res.OutCostTax, GiftProportionCostTax = res.GiftProportionCostTax, SaleGrossProfitTax = res.SaleGrossProfitTax FROM TempGoodsPSSM_Goods_Happend res WHERE temp.GoodsCode = res.GoodsCode;
删除数据: 数据行可以用 DELETE 命令从表中删除。假设你对 Hayward 的天气不再感兴趣,那么你可 以用下面的命令把那些行从表中删除: DELETE FROM weather WHERE city = 'Hayward'; 增加字段: ALTER TABLE distributors ADD COLUMN address varchar(30); 删除字段: ALTER TABLE distributors DROP COLUMN address RESTRICT; 修改现有字段的类型: ALTER TABLE distributors ALTER COLUMN address TYPE varchar(80),ALTER COLUMN name TYPE varchar(100); 对现存字段改名: ALTER TABLE distributors RENAME COLUMN address TO city; 更改现存表的名字: ALTER TABLE distributors RENAME TO suppliers; 给一个字段增加一个非空约束: ALTER TABLE distributors ALTER COLUMN street SET NOT NULL; 从一个字段里删除一个非空约束: ALTER TABLE distributors ALTER COLUMN street DROP NOT NULL; 给一个表增加一个检查约束: ALTER TABLE distributors ADD CONSTRAINT zipchk CHECK (char_length(zipcode) = 5); 删除一个表及其所有子表的监查约束: ALTER TABLE distributors DROP CONSTRAINT zipchk; 向表中增加一个外键约束: ALTER TABLE distributors ADD CONSTRAINT distfk FOREIGN KEY (address) REFERENCES addresses (address) MATCH FULL; 给表增加一个(多字段)唯一约束: ALTER TABLE distributors ADD CONSTRAINT dist_id_zipcode_key UNIQUE (dist_id, zipcode); 给一个表增加一个自动命名的主键约束,要注意的是一个表只能有一个主键: ALTER TABLE distributors ADD PRIMARY KEY (dist_id); 把表移动到另外一个表空间: ALTER TABLE distributors SET TABLESPACE fasttablespace; 把表移动到另外一个模式: ALTER TABLE myschema.distributors SET SCHEMA yourschema; 事务 BEGIN; UPDATE accounts SET balance = balance - 100.00 WHERE name = 'Alice'; SAVEPOINT my_savepoint; UPDATE accounts SET balance = balance + 100.00 WHERE name = 'Bob';
-- 呀!加错钱了,应该用 Wally 的账号 ROLLBACK TO my_savepoint; UPDATE accounts SET balance = balance + 100.00 WHERE name = 'Wally'; COMMIT; GP SQL 案例 进销存(带部门)_GP10s_cyx.sql 进销存(不部门)_GP176s_cyx.sql 进销存(单品)_GP129s.sql 进销存(分类)_GP43s_cyx.sql 经销存(部门分类)_GP20s_cyx.sql GP 问题 GP 测试问题汇总.doc GP 安装配置 需要安装的软件有: 第三方工具:pgadmin3-1.12.3.zip 驱动程序:pgnp.zip 导数据程序:GPClient.rar
密码是:sgtest
ORACLE 迁移到 GP 需要转换的数据类型: Greenplum 数据类型 Varchar(100) Varchar(100) FLOAT(53) INTEGER VARCHAR numeric timestamp Oracle 数据类型 Clob Blob FLOAT(126) INTEGER VARCHAR2 NUMBER date 例如: Oracle: CREATE TABLE "000".TBGOODS ( GOODSCODE GOODSNO GOODSNAME PRODAREA GOODSSPEC BASEMEASUREUNIT WHOLEPACKRATE WHOLEMEASUREUNIT BASEBARCODE GOODSBRAND SUPPLIERCODE PURCHTAXRATE SALETAXRATE PURCHPRICE SALEPRICE POINTS MAXSALEPRICE MINSALEPRICE DURABILITY DAYSBEFCHECKIN ISDECIMALCONTROL BUILDDATE LASTMODIFYDATE SEASONALCODE ISCATEGORYCODE MESUREPROPERTY VARCHAR2(15 BYTE) VARCHAR2(30 BYTE) VARCHAR2(120 BYTE) VARCHAR2(20 BYTE) VARCHAR2(255 BYTE) VARCHAR2(20 BYTE) FLOAT(126) VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(20 BYTE) VARCHAR2(12 BYTE) NUMBER(25,10) NUMBER(25,10) NUMBER(25,10) NUMBER(25,10) NUMBER(25,10) NUMBER(25,10) NUMBER(25,10) NUMBER(38) NUMBER(38) NUMBER(38) VARCHAR2(8 BYTE) VARCHAR2(8 BYTE) VARCHAR2(4 BYTE) NUMBER(38) NUMBER(38) 备注 DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT 0, DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT 0, DEFAULT 0,
VARCHAR2(255 BYTE) VARCHAR2(4 BYTE) VARCHAR2(12 BYTE) NUMBER(38) NUMBER(38) NUMBER(25,10) VARCHAR2(2 BYTE) VARCHAR2(2 BYTE) BLOB, NUMBER(38) VARCHAR2(8 BYTE) NUMBER(25,10) NUMBER(25,10) NUMBER(25,10) NUMBER(25,10) NUMBER(38) REMARK CATEGORYITEMCODE CATEGORYCODE GOODSTYPE MANAGERMODE GROSSMARGIN SUBGROUPCODE1 SUBGROUPCODE2 GOODSPIC ISINCATALOG INCATALOGDATE DMSNORMAL DMSPROM WHOLESALEPRICE APPSALEPRICE ISLOCAL WORKSTATECODE VARCHAR2(4 BYTE) CIRCULATIONMODECODE VARCHAR2(4 BYTE) VARCHAR2(20 BYTE) DURCONDITION TEMPBEGINDATE VARCHAR2(8 BYTE) VARCHAR2(8 BYTE) TEMPENDDATE TEMPWORKSTATECODE VARCHAR2(4 BYTE) STOPCATALOGDATE OUTCATALOGDATE GOODSLEVEL FLIMITPRICE SLIMITPRICE TLIMITPRICE REPORTTEMPLATE REPORTTEMPLATET GOODSLENGTH GOODSWIDTH GOODSHEIGHT SPECIMENMONEY SPECIMENDAYS DMSNORMAL_YEAR DMSPROM_YEAR MRPROTYPECODE PRICEREMARK MRBILLNUMBER VARCHAR2(8 BYTE) VARCHAR2(8 BYTE) VARCHAR2(30 BYTE) FLOAT(126) FLOAT(126) FLOAT(126) CLOB, VARCHAR2(20 BYTE), FLOAT(126) FLOAT(126) FLOAT(126) FLOAT(126) INTEGER FLOAT(126) FLOAT(126) VARCHAR2(20 BYTE) VARCHAR2(255 BYTE) VARCHAR2(20 BYTE) ); Greenplum: CREATE TABLE "000".TBGOODS DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT '', DEFAULT '', DEFAULT 0, DEFAULT '', DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT ' ', DEFAULT '', DEFAULT '', DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT '', DEFAULT '', DEFAULT ''
( GOODSCODE GOODSNO GOODSNAME PRODAREA GOODSSPEC BASEMEASUREUNIT WHOLEPACKRATE WHOLEMEASUREUNIT BASEBARCODE GOODSBRAND SUPPLIERCODE PURCHTAXRATE SALETAXRATE PURCHPRICE SALEPRICE POINTS MAXSALEPRICE MINSALEPRICE DURABILITY DAYSBEFCHECKIN ISDECIMALCONTROL BUILDDATE LASTMODIFYDATE SEASONALCODE ISCATEGORYCODE MESUREPROPERTY REMARK CATEGORYITEMCODE CATEGORYCODE GOODSTYPE MANAGERMODE GROSSMARGIN SUBGROUPCODE1 SUBGROUPCODE2 GOODSPIC ISINCATALOG INCATALOGDATE DMSNORMAL DMSPROM WHOLESALEPRICE APPSALEPRICE ISLOCAL WORKSTATECODE VARCHAR(15) VARCHAR(30) VARCHAR(120) VARCHAR(20) VARCHAR(255) VARCHAR(20) FLOAT(53) VARCHAR(20) VARCHAR(20) VARCHAR(20) VARCHAR(12) numeric(25,10) numeric(25,10) numeric(25,10) numeric(25,10) numeric(25,10) numeric(25,10) numeric(25,10) numeric(38) numeric(38) numeric(38) VARCHAR(8) VARCHAR(8) VARCHAR(4) numeric(38) numeric(38) VARCHAR(255) VARCHAR(4) VARCHAR(12) numeric(38) numeric(38) numeric(25,10) VARCHAR(2) VARCHAR(2) VARCHAR(100), numeric(38) VARCHAR(8) numeric(25,10) numeric(25,10) numeric(25,10) numeric(25,10) numeric(38) VARCHAR(4) DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT 0, DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT 0, DEFAULT 0, DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT '', DEFAULT '', DEFAULT 0, DEFAULT '', DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT '',
VARCHAR(8) VARCHAR(8) VARCHAR(30) FLOAT(53) FLOAT(53) FLOAT(53) CIRCULATIONMODECODE VARCHAR(4) VARCHAR(20) DURCONDITION VARCHAR(8) TEMPBEGINDATE TEMPENDDATE VARCHAR(8) TEMPWORKSTATECODE VARCHAR(4) STOPCATALOGDATE OUTCATALOGDATE GOODSLEVEL FLIMITPRICE SLIMITPRICE TLIMITPRICE REPORTTEMPLATE REPORTTEMPLATET GOODSLENGTH GOODSWIDTH GOODSHEIGHT SPECIMENMONEY SPECIMENDAYS DMSNORMAL_YEAR DMSPROM_YEAR MRPROTYPECODE PRICEREMARK MRBILLnumeric varchar(100), VARCHAR(20), FLOAT(53) FLOAT(53) FLOAT(53) FLOAT(53) INTEGER FLOAT(53) FLOAT(53) VARCHAR(20) VARCHAR(255) VARCHAR(20) DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT '', DEFAULT ' ', DEFAULT '', DEFAULT '', DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT 0, DEFAULT '', DEFAULT '', DEFAULT '' ) DISTRIBUTED BY (goodscode); SQL 迁移到 GP 需要转换的数据类型: 备注 Greenplum 数据类型 Varchar(100) FLOAT INTEGER VARCHAR numeric timestamp date SQL 数据类型 image FLOAT INT VARCHAR numeric datetime date 刷表注意: 在 GP 中不需要建触发器、外键、自增列换成不需要自增的数据类型(int)。 例如: SQL: CREATE TABLE [000].[tb201212_AcceptBillDetail]( [DeptCode] [varchar](12) NOT NULL,
分享到:
收藏