Skip to content

Instantly share code, notes, and snippets.

@NathanMagno
Created April 23, 2025 12:42
Show Gist options
  • Save NathanMagno/360127694f63a47fbdc9b6ca2b94e2d1 to your computer and use it in GitHub Desktop.
Save NathanMagno/360127694f63a47fbdc9b6ca2b94e2d1 to your computer and use it in GitHub Desktop.
-- Aula - 23/04/25
SET SERVEROUTPUT ON;
SET VERIFY OFF;
-- CREATE OR REPLACE FUNCTION nome_funcao (p1 in, p11 out, p111 in_out);
DROP TABLE funcionarios_tbl CASCADE CONSTRAINTS;
CREATE TABLE funcionarios_tbl
(primeiro_nome VARCHAR(20),
id NUMBER(2));
INSERT INTO funcionarios_tbl VALUES ('Marcel', 10);
INSERT INTO funcionarios_tbl VALUES ('Andresa', 20);
INSERT INTO funcionarios_tbl VALUES ('Samuel', 90);
COMMIT;
CREATE OR REPLACE FUNCTION primeiro_nome_func
RETURN VARCHAR
IS
emp_name VARCHAR(20);
BEGIN
SELECT primeiro_nome INTO emp_name FROM funcionarios_tbl WHERE ID = 90;
RETURN emp_name;
END;
SELECT primeiro_nome_func() FROM dual;
CREATE OR REPLACE FUNCTION teste_soma(p1 in number, p2 in number)
RETURN NUMBER
IS
soma NUMBER(4);
BEGIN
soma := p1 + p2;
RETURN soma;
END;
SELECT teste_soma(175, 35) FROM DUAL;
DECLARE
n1 NUMBER(4) := &valor1;
-- Usando a herança com&type - tipo ) tamanho
n2 n1%type := &valor2;
re n1%type;
BEGIN
re:= teste_soma(n1, n2);
dbms_output.put_line(re);
END;
-- CRIAR UMA FUNÇÃO QUE ANALISE DOIS VALORES NUMÉRICOS INTEIROS E
-- RETONE O MAIOR DELES.
CREATE OR REPLACE FUNCTION meu_maior(n1 in number, n2 in number)
RETURN NUMBER
IS
re number(10);
BEGIN
if n1 > n2 THEN
re := n1;
elsif n2 > n1 THEN
re := n2;
ELSE
dbms_output.put_line('Mas nois somos INGUAIS');
END IF;
dbms_output.put_line(re);
RETURN re;
END;
SELECT meu_maior(11, 143) FROM DUAL;
DROP TABLE MOVIMENTACAO CASCADE CONSTRAINTS;
CREATE TABLE ALUNO(
rm NUMBER(10) GENERATED BY DEFAULT AS IDENTITY,
nome VARCHAR2(30) NOT NULL,
CONSTRAINT tbl_aluno_pk PRIMARY KEY(rm)
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment