Procurar
Últimos assuntos
Quem está conectado?
Há 1 usuário online :: 0 registrados, 0 invisíveis e 1 visitante Nenhum
[ Ver toda a lista ]
O recorde de usuários online foi de 192 em Ter Out 26, 2021 6:07 am
PROCEDURE e FUNCTION em mysql
Página 1 de 1
PROCEDURE e FUNCTION em mysql
- Código:
##########################################################################################|
DELIMITER//
CREATE PROCEDURE SP_TESTE()
BEGIN
DECLARE x INT DEFAULT 0;
END;
//
##########################################################################################|
CREATE PROCEDURE SP_TESTE2()
SELECT "OLA MUNDO"//
##########################################################################################|
CALL SP_TESTE2()//
##########################################################################################|
DROP PROCEDURE SP_TESTE2//
##########################################################################################|
DELIMITER //
CREATE PROCEDURE SP_TESTE4(IN num INT)
BEGIN
DECLARE x INT DEFAULT 0;
SET x=num;
SELECT x;
END;
//
##########################################################################################|
CALL SP_TESTE4(5)//
##########################################################################################|
DELIMITER $
CREATE PROCEDURE SP_SAUDA1(IN nome VARCHAR(50))
BEGIN
DECLARE mensagem VARCHAR(11);
SET mensagem='Alo Mundo ';
SELECT CONCAT(mensagem,nome);
END$
DELIMITER;
##########################################################################################|
CALL SP_SAUDA1('JOSE');
##########################################################################################|
DELIMITER $
CREATE PROCEDURE SP_CALC(IN A INTEGER, IN B INTEGER, OUT S INTEGER)
BEGIN
SET S=A+B;
END$
DELIMITER;
##########################################################################################|
CALL SP_CALC(5,3, @saida);
SELECT @saida;
##########################################################################################|
DELIMITER $
CREATE PROCEDURE simpleproc(OUT param1 INT)
BEGIN
SELECT COUNT(*) INTO param1 FROM LIVRO;
END $
DELIMITER;
CALL simpleproc(@a);
SELECT @a;
##########################################################################################|
DELIMITER $
CREATE PROCEDURE SP_DECISAO1(IN A FLOAT, IN B FLOAT)
BEGIN
DECLARE X FLOAT;
SET X=A+B;
IF(X>=10) THEN
SELECT X;
END IF;
END$
DELIMITER;
##########################################################################################|
CALL SP_DECISAO1(15.6,2.2);
##########################################################################################|
SHOW PROCEDURE STATUS;
SHOW CREATE PROCEDURE SP_DECISAO1;
##########################################################################################|
DELIMITER $
CREATE PROCEDURE SP_DECISAO2(IN valor INTEGER)
BEGIN
DECLARE resto INTEGER;
SET resto=valor %3;
IF(resto=0)THEN
SELECT valor, ' E UM VALOR DIVISIVEL POR 3';
ELSE
SELECT valor, ' NAO E UM VALOR DIVISIVEL POR 3';
END IF;
END$
DELIMITER;
##########################################################################################|
CALL SP_DECISAO2(6);
##########################################################################################|
DELIMITER $
CREATE PROCEDURE SP_NOME_MES()
BEGIN
DECLARE valor INTEGER;
DECLARE nome VARCHAR(15);
SET valor=MONTH(CURDATE());
IF(valor=1)THEN
SET nome='JANEIRO';
ELSEIF(valor=2)THEN
SET nome='FEVEREIRO';
ELSEIF(valor=3)THEN
SET nome='MARCO';
ELSEIF(valor=4)THEN
SET nome='ABRIU';
ELSEIF(valor=5)THEN
SET nome='MAIO';
ELSEIF(valor=6)THEN
SET nome='JUNHO';
ELSEIF(valor=7)THEN
SET nome='JULHO';
ELSEIF(valor=8)THEN
SET nome='AGOSTO';
ELSEIF(valor=9)THEN
SET nome='SETEMBRO';
ELSEIF(valor=10)THEN
SET nome='OUTUBRO';
ELSEIF(valor=11)THEN
SET nome='NOVEMBRO';
ELSEIF(valor=12)THEN
SET nome='DEZEMBRO';
END IF;
SELECT nome;
END$
DELIMITER;
##########################################################################################|
DELIMITER $
CREATE PROCEDURE SP_DIA_SEMANA()
BEGIN
DECLARE valor INTEGER;
SET valor=DAYOFWEEK(CURDATE());
CASE
WHEN valor=1 THEN SELECT 'DOMINGO';
WHEN valor=2 THEN SELECT 'SEGUNDA';
WHEN valor=3 THEN SELECT 'TERCA';
WHEN valor=4 THEN SELECT 'QUARTA';
WHEN valor=5 THEN SELECT 'QUINTA';
WHEN valor=6 THEN SELECT 'SEXTA';
WHEN valor=7 THEN SELECT 'SABADO';
END CASE;
END $
DELIMITER;
##########################################################################################|
CALL SP_DIA_SEMANA();
##########################################################################################|
DELIMITER $
CREATE PROCEDURE SP_FAT1(IN valor INTEGER)
BEGIN
DECLARE FATOR, I INTEGER;
SET FATOR=1;
SET I=1;
CALCULO: LOOP
SET FATOR=FATOR*I;
SET I=I+1;
SELECT I;
IF(I>VALOR) THEN
LEAVE CALCULO;
END IF;
END LOOP CALCULO;
SELECT FATOR;
END $
DELIMITER;
##########################################################################################|
CALL PROCEDURE SP_FAT1(5)
##########################################################################################|
DELIMITER $
CREATE PROCEDURE SP_FAT2(IN valor INTEGER)
BEGIN
DECLARE fator, I INTEGER;
SET fator=1;
SET I=1;
CALCULO: WHILE(I<=valor) DO
SET fator=fator*I;
SET I=I+1;
SELECT I;
END WHILE CALCULO;
SELECT fator;
END $
DELIMITER;
##########################################################################################|
CALL SP_FAT2(5);
##########################################################################################|
DELIMITER $
CREATE FUNCTION SF_FAT(N INTEGER) RETURNS INTEGER
BEGIN
DECLARE fator, I INTEGER;
SET fator=1;
SET I=1;
IF(N<=1) THEN
RETURN fator;
ELSE
CALCULO: WHILE(I<=N) DO
SET fator=fator*I;
SET I=I+1;
END WHILE CALCULO;
END IF;
RETURN fator;
END $
DELIMITER;
##########################################################################################|
SELECT SF_FAT(5);
##########################################################################################|
CREATE TABLE AUDITORIA(CODIGO_LIVRO INT , VALOR_ANTIGO DECIMAL (5,2) , VALOR_NOVO DECIMAL (5,2));
##########################################################################################|
DELIMITER $
CREATE TRIGGER TESTA_AUMENTO AFTER UPDATE ON LIVRO
FOR EACH ROW
BEGIN
INSERT INTO AUDITORIA SET
CODIGO_LIVRO=NEW.CODIGO,
VALOR_ANTIGO=OLD.PRECO,
VALOR_NOVO=NEW.PRECO;
END $
DELIMITER;
##########################################################################################|
UPDATE LIVRO SET PRECO=PRECO*1.1;
SELECT * FROM AUDITORIA;
##########################################################################################|
juk- Mensagens : 262
Data de inscrição : 02/04/2012
Tópicos semelhantes
» SCRIPT MYSQL
» Consultas mysql
» Mysql Backup
» Mysql comandos bàsicos
» mysql exemplo de "references"
» Consultas mysql
» Mysql Backup
» Mysql comandos bàsicos
» mysql exemplo de "references"
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Seg Jan 02, 2023 2:13 pm por juk
» Cypecad 2019
Seg Jan 02, 2023 1:41 pm por juk
» Atualizando é instalando o IExplorer 11 no windows 7
Ter Ago 30, 2022 10:54 pm por juk
» COMO HABILITAR INTERNET EXPLORER NO WINDOWS 10
Sex Abr 29, 2022 6:43 pm por juk
» Usando o Monitor de Recursos do sistema para identificar processos Associados.
Qua Abr 06, 2022 10:19 am por juk
» Fazendo backup do anydesk
Ter Abr 05, 2022 7:30 pm por juk
» Recuperando Favoritos, senhas apos formatar o navegador (Mozilla Firefox ou Chrome)
Ter Abr 05, 2022 7:28 pm por juk
» Comando para tentar recuperar o windows
Qua Out 27, 2021 5:52 pm por juk
» NGROK para divulgação de site remoto
Ter Set 29, 2020 9:40 am por juk