Advertisement
lucasmouraahere

Módulo 09

Sep 6th, 2019
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.86 KB | None | 0 0
  1. -- VIEW É UMA TABELA LÓGICA E NÃO FISICA, OU SEJA, NÃO É CRIADA
  2.  
  3. -- INDICE É UTILIZADO PARA MELHORAR DESEMPENHO DE ALGUMAS CONSULTAS (EXEMPLO: COMO SE FOSSE UM INDICE DE UM LIVRO, PÁGINA DO LIVRO SERIA LINHA DA TABELA)
  4.  
  5. CREATE TABLE teste_01 (
  6.     teste_numero        NUMBER(10),
  7.     teste_char          VARCHAR2(30)
  8. );
  9.  
  10. CREATE TABLE teste_timestamp(
  11.     hora_atual TIMESTAMP(7)
  12. );
  13.  
  14. INSERT INTO teste_timestamp (hora_atual)
  15. VALUES (SYSDATE);
  16.  
  17. SELECT * FROM teste_timestamp;
  18.  
  19. CREATE TABLE tabela_intervalos(
  20.     intervalo_ano       INTERVAL YEAR (3) TO MONTH,
  21.     intervalo_dia       INTERVAL DAY (3) TO SECOND
  22. );
  23.  
  24. INSERT INTO tabela_intervalos (intervalo_ano, intervalo_dia)
  25. VALUES(INTERVAL '120' MONTH(3),
  26.        INTERVAL '180' DAY(3));
  27.        
  28. SELECT TO_CHAR(SYSDATE+INTERVALO_ANO, 'DD-MONTH-YYYY'),
  29.                SYSDATE+INTERVALO_DIA intervalo_dia
  30. FROM tabela_intervalos;
  31.  
  32. --ON DELETE CASCADE
  33. -- ON DELETE SET NULL
  34.  
  35. -- CONSTRAINT A NÍVEL DE COLUNA
  36. CREATE TABLE lucas (
  37.     employee_id NUMBER(6),
  38.     CONSTRAINT emp_emp_id_pk PRIMARY KEY first_name VARCHAR2(20)
  39. );
  40.  
  41. --CONSTRAINT A NÍVEL DE TABELA
  42. CREATE TABLE lucas (
  43.     employee_id NUMBER(6),
  44.     first_name VARCHAR2(20),
  45.     job_id VARCHAR(10) NOT NULL,
  46.     CONSTRAINT emp_emp_id_pk PRIMARY KEY (employee_id)    
  47. );
  48.  
  49. CREATE TABLE teste_aula03(
  50.     PK_COL NUMBER(10) CONSTRAINT pk_teste PRIMARY KEY,
  51.     employee_id NUMBER(10),
  52.     NOT_NULL NUMBER(10) NOT NULL,
  53.     COL_UNIQUE DATE,
  54.     COL_CHECK NUMBER(10,2),
  55.     CONSTRAINT unique_o1 UNIQUE(COL_UNIQUE),
  56.     CONSTRAINT fk_teste01 FOREIGN KEY (employee_id)
  57.     REFERENCES lucas(employee_id) ON DELETE CASCADE,
  58.     CONSTRAINT check_col01 CHECK (COL_CHECK > 10)
  59. );
  60.  
  61. CREATE TABLE teste_default (
  62.     id_number NUMBER(10),
  63.     dt_inserido DATE DEFAULT sysdate
  64. );
  65.  
  66. --CRIAR TABELA COM INSERÇÃO DE OUTRA TABELA
  67. CREATE TABLE dep90 AS
  68.   SELECT  employee_id, first_name,
  69.           hire_date, salary*12 "Salário Anual"
  70.     FROM  hr.employees
  71.     WHERE department_id = 90;
  72.  
  73. SELECT * FROM dep90;
  74.  
  75. ALTER TABLE teste_default
  76. ADD NM_USUARIO VARCHAR2(10);
  77.  
  78. UPDATE teste_default
  79. SET NM_USUARIO = USER;
  80.  
  81. ALTER TABLE teste_default
  82. MODIFY nm_usuario VARCHAR2(10) NOT NULL;
  83.  
  84. ALTER TABLE teste_default
  85. RENAME COLUMN NM_USUARIO TO NM_USUARIO2;
  86.  
  87. ALTER TABLE teste_default
  88. RENAME TO teste_default2;
  89.  
  90. ALTER TABLE teste_default
  91. DROP COLUMN nm_usuario2;
  92.  
  93. DROP TABLE teste_default2
  94.  
  95. /* Crie a tabela EMPLOYEES2 com base na estrutura da tabela EMPLOYEES.
  96. Inclua somente as colunas EMPLOYEE_ID, FIRST_NAME, LAST_NAME, SALARY e DEPARTMENT_ID.
  97. Nomeie as colunas da nova tabela como ID, FIRST_NAME, LAST_NAME, SALARY e DEPT_ID, respectivamente.
  98. */
  99.  
  100. CREATE TABLE EMPLOYEES2 AS
  101.     (SELECT employee_id "ID", first_name "FIRST_NAME",
  102.            last_name "LAST_NAME", salary "SALARY",
  103.            department_id "DEPT_ID"
  104. FROM hr.employees);
  105.  
  106. /* Crie a tabela teste_dept com duas colunas com os nomes ID e NOME, a coluna ID vai ser a chave primária da tabela,
  107. ela também deve ser do tipo NUMBER com o tamanho de 10,
  108. já a coluna NOME vai ser um VARCHAR2 com um valor default usando a função USER e o seu tamanho vai ser de 5*/
  109.  
  110. CREATE TABLE teste_dept(
  111.     ID      NUMBER(10) CONSTRAINT pk_id PRIMARY KEY,
  112.     NOME    VARCHAR2(50) DEFAULT USER
  113. );
  114.  
  115. /* Altere a coluna NOME para NOT NULL */
  116.  
  117. ALTER TABLE teste_dept
  118. MODIFY NOME VARCHAR(50) NOT NULL;
  119.  
  120. /* Renomei a coluna NOME para NOME_USUARIO*/
  121.  
  122. ALTER TABLE teste_dept
  123. RENAME COLUMN NOME TO NOME_USUARIO;
  124.  
  125. /* Cria a coluna DATA_USUARIO como do tipo TIMESTAMP, esta coluna não pode ser nula.*/
  126.  
  127. CREATE TABLE DATA_USUARIO(
  128.     coluna TIMESTAMP(7) NOT NULL
  129. );
  130.  
  131. /* Elimine a coluna DATA_USUARIO*/
  132.  
  133. ALTER TABLE DATA_USUARIO
  134. DROP COLUMN coluna;
  135.  
  136. /* Altere o nome da tabela teste_dept para dep*/
  137.  
  138. ALTER TABLE teste_dept
  139. RENAME TO dep;
  140.  
  141. /* Elimine a tabela dep.*/
  142.  
  143. DROP TABLE dep;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement