Aviso: Este artigo ainda é um rascunho!
Glossário
- TABELA: Nome físico da tabela no banco.
Ex.: TT_GRA, TD_COB, TW_CLI, TM_TIT, TI_PRE - APELIDO: Apelido da tabela no metadados.
Ex.: GRA, DCOB, WCLI, MTIT, IPRE - COLUNA: Nome físico da coluna no banco.
Ex.: REFPRO - COLUNAS: Sequência de COLUNAs intercaladas com vírgula.
Ex.: REFPRO, CODEXT, DESMAT
Tipos de Dados
| TTTemplate | Oracle | PostgreSQL |
|---|---|---|
| A | B | C |
| 1 | 2 | 3 |
Criar uma Tabela
- Template:
CREATE TABLE TT_TABELA ( COLUNAB TIPO, COLUNAC TIPO) TABLESPACE TOTALI_DATA;
- Oracle:
CREATE TABLE TT_TABELA ( COLUNAB TIPO, COLUNAC TIPO) TABLESPACE TOTALI_DATA;
- PostgreSQL:
CREATE TABLE TT_TABELA ( COLUNAB TIPO, COLUNAC TIPO);
Criar coluna em uma tabela
- Template:
ALTER TABLE TT_TABELA ADD COLUNA TIPO;
- Oracle:
ALTER TABLE TT_TABELA ADD COLUNA TIPO;
- PostgreSQL:
ALTER TABLE TT_TABELA ADD COLUNA TIPO;
Criar NOT NULL para uma coluna
Não esqueça que para alterar uma coluna para NOT NULL é necessário antes executar um UPDATE para preencher registros com valores nulos
- Template:
%%<NOTNULL('TT_TABELA','COLUNA','NN_TABELA_COLUNA')>%%
- Oracle:
ALTER TABLE TT_TABELA MODIFY (COLUNA CONSTRAINT NN_TABELA_COLUNA NOT NULL);
- PostgreSQL:
ALTER TABLE TT_TABELA ALTER COLUMN COLUNA SET NOT NULL;
Criar PRIMARY KEY em uma tabela
A chave primária já vale como índice
- Template:
ALTER TABLE TABELA ADD CONSTRAINT PK_APELIDO PRIMARY KEY (COLUNA);
- Oracle:
ALTER TABLE TABELA ADD CONSTRAINT PK_APELIDO PRIMARY KEY (COLUNA);
- PostgreSQL:
ALTER TABLE TABELA ADD CONSTRAINT PK_APELIDO PRIMARY KEY (COLUNA);
Criar UNIQUE em uma tabela
- Template:
CREATE UNIQUE INDEX I_UQ_APELIDO ON TABELA (COLUNAS) TABLESPACE TOTALI_INDEX;
- Oracle:
CREATE UNIQUE INDEX I_UQ_APELIDO ON TABELA (COLUNAS) TABLESPACE TOTALI_INDEX;
- PostgreSQL:
CREATE UNIQUE INDEX I_UQ_APELIDO ON TABELA (COLUNAS);
Criar FOREIGN KEY em uma
Não se esqueça de que é necessário criar um índice de foreign key para cada foreign key
- Template:
ALTER TABLE TABELA1 ADD CONSTRAINT FK_APELIDO1_APELIDO2 FOREIGN KEY (COLUNAS1) REFERENCES TABELA2 (COLUNAS2);
- Oracle:
ALTER TABLE TABELA1 ADD CONSTRAINT FK_APELIDO1_APELIDO2 FOREIGN KEY (COLUNAS1) REFERENCES TABELA2 (COLUNAS2);
- PostgreSQL:
ALTER TABLE TABELA1 ADD CONSTRAINT FK_APELIDO1_APELIDO2 FOREIGN KEY (COLUNAS1) REFERENCES TABELA2 (COLUNAS2);
Criar índice de FOREIGN KEY em uma tabela
- Template:
CREATE INDEX I_FK_APELIDO1_APELIDO2 ON TABELA (COLUNAS) TABLESPACE TOTALI_INDEX;
- Oracle:
CREATE INDEX I_FK_APELIDO1_APELIDO2 ON TABELA (COLUNAS) TABLESPACE TOTALI_INDEX;
- PostgreSQL:
CREATE INDEX I_FK_APELIDO1_APELIDO2 ON TABELA (COLUNAS);