Jump to content


Photo

Por Que Essa Procedura Não Funciona?


  • Faça o login para participar
2 replies to this topic

#1 Titicolas

Titicolas

    Normal

  • Usuários
  • 78 posts
  • Sexo:Não informado

Posted 26/01/2009, 17:41

DROP TABLE IF EXISTS `dbteste`.`usuarios`;
CREATE TABLE  `dbteste`.`usuarios` (
  `codigo` int(10) unsigned NOT NULL auto_increment,
  `nome` varchar(45) NOT NULL,
  `email` varchar(45) NOT NULL,
  PRIMARY KEY  (`codigo`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=latin1;

------------------------------

DELIMITER $$

DROP PROCEDURE IF EXISTS `dbteste`.`sp_total_usuarios` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_total_usuarios`(OUT total int)
BEGIN

  SELECT COUNT(*) INTO total FROM usuarios;

END $$

DELIMITER;

-------------------------------

CALL sp_total_usuarios(@total);
SELECT @total;

obs tem 10 registros na tabela

#2 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 27/01/2009, 17:58

Não vejo problema algum.

mysql> CALL sp_total_usuarios(@total);
Query OK, 0 rows affected (0.02 sec)

mysql> SELECT @total;
+--------+
| @total |
+--------+
| 1	  | 
+--------+
1 row in set (0.00 sec)

Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#3 Titicolas

Titicolas

    Normal

  • Usuários
  • 78 posts
  • Sexo:Não informado

Posted 27/01/2009, 20:05

mas aqui está retornando NULL =/
num sei se é por causa do MySQL Query Browser.... será?

EDIT:
aloc galeres... o MYSQL Query Browser tem bug com variaveis globais do MySQL =((((((((((((((((

Eclesiastes, testei do jeito q vc fez, pelo console e funciono... vlw =)

fica ai o aviso!

Edição feita por: Titicolas, 27/01/2009, 20:47.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq