MySQL Forums
Forum List  »  Spanish

Re: Procedimientos Almacenados
Posted by: William Chiquito
Date: June 11, 2007 02:15PM

Hola Marco,

Construí mi propio script de prueba en base a la información que colocastes en el mensaje (no tomé todas las columnas de la tabla "clie_clientes", solo alguas).

No entiendo bien la lógica del stored procedure ya que estás insertando varias veces al mismo cliente, sin embargo, si esa es la lógica entonces veamos si mi script te puede ayudar a solucionar el tu problema.

Mi script de prueba:
DROP TABLE IF EXISTS `clie_clientes`;

CREATE TABLE `clie_clientes` (
  `id_cliente` int(11) NOT NULL auto_increment,
  `clave_cliente_re10` varchar(20) collate latin1_spanish_ci default NULL,
  `tipo_contable_cc00` varchar(20) collate latin1_spanish_ci default NULL,
  `tipo_cliente_cc00` varchar(20) collate latin1_spanish_ci default NULL,
  `razon_social` varchar(20) collate latin1_spanish_ci default NULL,
  `fecha_alta` date default NULL,
  PRIMARY KEY  (`id_cliente`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;


/*!50003 DROP PROCEDURE IF EXISTS `sp_inserta_cliente` */;

DELIMITER $$

/*!50003 CREATE PROCEDURE `sp_inserta_cliente`(p_fecha_ini DATE, p_fecha_fin DATE,
p_clave_cliente VARCHAR(15), p_razon_social VARCHAR(100))
BEGIN
	DECLARE dFecha DATE;
	SET dFecha = p_fecha_ini ;
	WHILE dFecha <= p_fecha_fin DO
		INSERT INTO clie_clientes
		(`clave_cliente_re10`,
		`tipo_contable_cc00`,
		`tipo_cliente_cc00`,
		`razon_social`,
		`fecha_alta`)
		VALUES (
		p_clave_cliente,
		'INGRESOS',
		'AGENCIA',
		p_razon_social,
		dFecha);
		SET dFecha = DATE_ADD(dFecha , INTERVAL 1 DAY);
	END WHILE ;
END */$$
DELIMITER ;

CALL sp_inserta_cliente('2007-01-01', '2007-01-05', 'MARKITO-001-56', 'VIAJES MARKITO');

SELECT * FROM clie_clientes;
Se esperan cinco (5) registros insertados en la tabla "clie_clientes".

Resultado:
id_cliente  clave_cliente_re10  tipo_contable_cc00  tipo_cliente_cc00  razon_social    fecha_alta         
----------  ------------------  ------------------  -----------------  --------------  -------------------
         1  MARKITO-001-56      INGRESOS            AGENCIA            VIAJES MARKITO  2007-01-01
         2  MARKITO-001-56      INGRESOS            AGENCIA            VIAJES MARKITO  2007-01-02
         3  MARKITO-001-56      INGRESOS            AGENCIA            VIAJES MARKITO  2007-01-03
         4  MARKITO-001-56      INGRESOS            AGENCIA            VIAJES MARKITO  2007-01-04
         5  MARKITO-001-56      INGRESOS            AGENCIA            VIAJES MARKITO  2007-01-05

La única difrerencia que veo es que los dos (2) primeros parámetros en la llamada al stored procedure que son de tipo fecha (DATE) debes pasarlos entre comillas simples (').



Edited 1 time(s). Last edit at 06/11/2007 02:15PM by William Chiquito.

Options: ReplyQuote


Subject
Views
Written By
Posted
82149
June 11, 2007 11:16AM
Re: Procedimientos Almacenados
6400
June 11, 2007 02:15PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.