Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-03-2004
Carlitos Carlitos is offline
Miembro
 
Registrado: ago 2003
Posts: 22
Poder: 0
Carlitos Va por buen camino
Argumentos en procedimientos

Porqué siempre que he de pasar una constante de tipo string como argumento de un procedimiento almacenado he de pasarla en una variable para que no aparezcan unas comillas de más que hacen que no sea el valor que deseaba pasar. ¿Cómo debería pasar dicha constante para no tener que usar una variable intermedia?
Responder Con Cita
  #2  
Antiguo 05-03-2004
teletranx teletranx is offline
Miembro
 
Registrado: feb 2004
Ubicación: Chile
Posts: 112
Poder: 21
teletranx Va por buen camino
Talking

Por lo que entendi

puede hacer lo siguiente
  • Desde otro sp
execute procedure <nombresp> 'string';
o

declare variable var1 varChar(10);


Var1 = 'string';

execute procedure <nombresp> :Var1; (Lo He usado )


Juan carlos
Responder Con Cita
  #3  
Antiguo 05-03-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Desde Delphi??

Tal como lo harias con una variable, pero la tenes declarada en la sección const

Hasta luego

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #4  
Antiguo 06-03-2004
Carlitos Carlitos is offline
Miembro
 
Registrado: ago 2003
Posts: 22
Poder: 0
Carlitos Va por buen camino
No me refería a eso, sino a invocar el procedimiento almacenando desde otro procedimiento o disparador. Por ejemplo:

execute procedure dame_resultado('A');

donde el argumento está definido como char(1). Dentro del procedimiento al comparar el parámetro con 'A':

...
if (argumento='A') then
...

la comparación me devuelve false ya que el argumento me lo entiende como ''A''. La única forma que he encontrado de solucionarlo es declarando una variable del mismo tipo char(1) asignarle 'A' e invocar el procedimiento con dicha variable no con la constante. Mi pregunta es si hay alguna forma de hacerlo sin tener que utilizar dicha variable intermedia y por supuesto, intentar comprender el porqué lo hace así...
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


La franja horaria es GMT +2. Ahora son las 08:12:03.


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