Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-12-2013
Avatar de Matorral
Matorral Matorral is offline
Miembro
 
Registrado: oct 2006
Ubicación: Ferrol-Galicia
Posts: 31
Poder: 0
Matorral Va por buen camino
pasar nombre de tabla como parametro a procedimiento almacenado

Hola amigos.

Trabajo con Delphi 7 (desde hace bastante tiempo) y bases de datos mySQL (desde hace muuuuuy poco tiempo).

Hice un procedimiento almacenado muy sencillo desde phpMyAdmin en el que intento pasar como parametros
el nombre de una tabla y el nombre de un campo para que me devuelva el valor maximo de ese campo.

en phpMyAdmin :
Código SQL [-]
DROP  PROCEDURE  `Nuevo_Codigo` ;   
CREATE  DEFINER  =  `root`@`localhost`  
PROCEDURE  `Nuevo_Codigo` (  IN  `tabla` VARCHAR( 50  )  CHARSET utf8,  IN  `campo` VARCHAR( 50  )  CHARSET utf8, OUT `cod` VARCHAR( 20  )  CHARSET utf8 ) 
   NOT  DETERMINISTIC READS SQL DATA SQL  SECURITY  DEFINER   
  SELECT max(  `campo`  )  +1 INTO cod FROM  `tabla`

y luego en Delphi (utilizo myDAC):

Código Delphi [-]
qry_Nuevo_Codigo:=TMyQuery.Create(Self);    
try 
  qry_Nuevo_Codigo.Connection:=myConnection; 
  qry_Nuevo_Codigo.SQL.Text:='Call nuevo_Codigo(:tabla,:campo,@UltimoCodigo);'; 
  qry_Nuevo_Codigo.ParamByName('tabla').AsString:='categorias';     
  qry_Nuevo_Codigo.ParamByName('campo').AsString:='codigo';     
  qry_Nuevo_Codigo.Execute;     
  UltimoCodigo:=qry_Nuevo_Codigo.ParamByName('cod').AsString;   
finally     
  qry_Nuevo_Codigo.Free;   
end;

La cuestión es que salta un error al hacer el Execute que dice :

Table 'produccion.tabla' doesn't exist

En phpMyAdmin ya he probado a poner

Código SQL [-]
From :tabla ..
From @tabla ..
From `:tabla` ..

pero da error el phpMyAdmin y no genera el procedimiento almacenado.

Alguien ha intentado pasar el nombre de una tabla como parametro y lo ha conseguido??

Gracias, y perdón por el ladrillo.
__________________
Inieeeesssstademiviiiiidaaaaa.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
pasar el nombre de una forma como parametro Willo Varios 7 10-03-2009 23:17:05
pasar como parámetro nombre de un componente joanajj Varios 3 04-07-2007 22:25:49
Pasar Matriz como parametro a un procedimiento Caro Varios 2 28-07-2006 17:20:12
Se puede pasar una tabla a un procedimiento almacenado? AFilth MS SQL Server 2 07-02-2006 13:10:21
pasar el nombre de una tabla en un parametro saul saldaña Firebird e Interbase 2 11-06-2004 20:05:55


La franja horaria es GMT +2. Ahora son las 22:33:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi