Procedure e funções pl/sql

1606 palavras 7 páginas
1. Criar um bloco PL/SQL anônimo para imprimir a tabuada abaixo:

5 X 1 = 5 5 X 2 = 10 ... 5 X 10 = 50
DECLARE V_N CONSTANT NUMBER(2) := 5; BEGIN FOR I IN 1..10 LOOP DBMS_OUTPUT.PUT_LINE(V_N || ' X ' || I || ' = ' || V_N*I); END LOOP; END; /

2. Criar um bloco PL/SQL anônimo para imprimir as tabuadas abaixo: 1 X 1 = 1 1 X 2 = 2 ... 10 X 9 = 90 10 X 10 = 100
BEGIN FOR I IN 1..10 LOOP FOR J IN 1..10 LOOP DBMS_OUTPUT.PUT_LINE(I || ' X ' || J || ' = ' || I*J); END LOOP; END LOOP; END; /

3. Criar um bloco PL/SQL para apresentar os anos bissextos entre 2000 e 2100. Um ano será bissexto quando for possível dividi‐lo por 4, mas não por 100 ou quando for possível dividi‐lo por 400. DECLARE V_ANO NUMBER(4); BEGIN FOR V_ANO IN 2000..2100 LOOP IF (MOD(V_ANO,4) = 0 AND MOD(V_ANO,100) != 0) OR (MOD(V_ANO,400) = 0) THEN DBMS_OUTPUT.PUT_LINE(V_ANO); END IF; END LOOP; END; /

4. Criar um bloco PL/SQL para atualizar a tabela abaixo, conforme segue:

Produtos categoria A deverão ser reajustados em 5% Produtos categoria B deverão ser reajustados em 10% Produtos categoria C deverão ser reajustados em 15%

PRODUTO -----------------------CODIGO CATEGORIA VALOR -----------------------1001 A 7.55 1002 B 5.95 1003 C 3.45 ------------------------

CREATE TABLE PRODUTO ( CODIGO NUMBER(4), CATEGORIA CHAR(1), VALOR NUMBER(4,2)); INSERT INTO PRODUTO VALUES (1001,'A',7.55); INSERT INTO PRODUTO VALUES (1002,'B',5.95); INSERT INTO PRODUTO VALUES (1003,'C',3.45); --SOLUÇÃO 1 DECLARE CURSOR C_PRODUTO IS SELECT * FROM PRODUTO; V_PRODUTO PRODUTO%ROWTYPE; BEGIN FOR V_PRODUTO IN C_PRODUTO LOOP IF V_PRODUTO.CATEGORIA = 'A' THEN UPDATE PRODUTO SET VALOR = VALOR * 1.05 WHERE CODIGO = V_PRODUTO.CODIGO; ELSIF V_PRODUTO.CATEGORIA = 'B' THEN UPDATE PRODUTO SET VALOR = VALOR * 1.10 WHERE CODIGO = V_PRODUTO.CODIGO; ELSE UPDATE PRODUTO SET VALOR = VALOR * 1.15 WHERE CODIGO = V_PRODUTO.CODIGO; END IF; END LOOP; END; /

--SOLUÇÃO 2 DECLARE CURSOR C_PRODUTO

Relacionados

  • Funções trigger, procedure e functions
    2887 palavras | 12 páginas
  • Pl /sql avançado
    9369 palavras | 38 páginas
  • Apostila_Oracle_PLSQL9i
    32773 palavras | 132 páginas
  • Oracle Pl Sql
    36777 palavras | 148 páginas
  • PROGRAMANDO EM ORACLE 9i
    32779 palavras | 132 páginas
  • titulo
    36787 palavras | 148 páginas
  • Pl sql
    17274 palavras | 70 páginas
  • Biocombustivel
    33072 palavras | 133 páginas
  • Treinamento oracle
    10305 palavras | 42 páginas
  • Pl sql
    9917 palavras | 40 páginas