Ir para conteúdo
Fórum Script Brasil

João Paulo Silva

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre João Paulo Silva

João Paulo Silva's Achievements

0

Reputação

  1. Boa tarde! Eu fiz uma procedure que calcula a diferença entre anos,meses,dias,anos, horas e minutos entre duas datas... Eu quero gravar esses dados em uma tabela e simplesmente não consigo, já tentei de todas as formas Segue o código, ele funciona, me exibe a conta certa, só não consigo gravar CREATE PROCEDURE SP_ESTADIA(DATA_I DATETIME ,DATA_F DATETIME) BEGIN SELECT DATA_I,DATA_F, TIMESTAMPDIFF(YEAR,DATA_I,DATA_F) as anos, TIMESTAMPDIFF ( MONTH, DATA_I + INTERVAL TIMESTAMPDIFF(YEAR, DATA_I, DATA_F) YEAR , DATA_F ) AS meses, TIMESTAMPDIFF ( DAY, DATA_I + INTERVAL TIMESTAMPDIFF(MONTH, DATA_I, DATA_F) MONTH, DATA_F ) AS dias, TIMESTAMPDIFF ( HOUR, DATA_I + INTERVAL TIMESTAMPDIFF(DAY, DATA_I, DATA_F) DAY, DATA_F ) AS horas, TIMESTAMPDIFF ( MINUTE, DATA_I + INTERVAL TIMESTAMPDIFF(HOUR, DATA_I, DATA_F) HOUR, DATA_F ) AS minutos; END $
  2. João Paulo Silva

    Cursores

    Boa tarde, estou com o seguinte erro: error 1136 : column count doesn't match value count at row 1 alguém poderia me ajudar? CREATE DATABASE CURSORES; USE CURSORES; CREATE TABLE VENDEDORES ( IDVENDEDOR INT PRIMARY KEY AUTO_INCREMENT, NOME VARCHAR(50), JAN INT, FEV INT, MAR INT ); INSERT INTO VENDEDORES VALUES(NULL,'MAFRA',32,242,574); INSERT INTO VENDEDORES VALUES(NULL,'CLARA',2432,5665,5745); INSERT INTO VENDEDORES VALUES(NULL,'JOÃO',3232,5667,5745); INSERT INTO VENDEDORES VALUES(NULL,'LILIAN',4553,2434,5745); INSERT INTO VENDEDORES VALUES(NULL,'ANTONIO',332,2334,7567); INSERT INTO VENDEDORES VALUES(NULL,'GLORIA',3562,256,555); SELECT NOME, (JAN+FEV+MAR) AS TOTAL FROM VENDEDORES; SELECT NOME, (JAN+FEV+MAR) AS TOTAL, (JAN+FEV+MAR)/3 AS MEDIA FROM VENDEDORES; CREATE TABLE VEND_TOTAL ( IDVENDEDOR INT PRIMARY KEY AUTO_INCREMENT, NOME VARCHAR(50), JAN INT, FEV INT, MAR INT, TOTAL INT, MEDIA INT ); DELIMITER $ CREATE PROCEDURE INSEREDADOS() BEGIN DECLARE FIM INT DEFAULT 0; DECLARE VAR1, VAR2, VAR3, VTOTAL, VMEDIA INT; DECLARE VNOME VARCHAR(50); DECLARE REG CURSOR FOR ( SELECT NOME, JAN, FEV, MAR FROM VENDEDORES ); OPEN REG; REPEAT FETCH REG INTO VNOME, VAR1, VAR2, VAR3; IF NOT FIM THEN SET VTOTAL = VAR1 + VAR2 + VAR3; SET VMEDIA = VTOTAL / 3; INSERT INTO VEND_TOTAL VALUES(VNOME,VAR1,VAR2,VAR3); END IF; UNTIL FIM END REPEAT; CLOSE REG; END $
×
×
  • Criar Novo...