Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #12  
Antiguo 03-12-2009
Avatar de pnikkosis
pnikkosis pnikkosis is offline
Miembro
 
Registrado: nov 2009
Ubicación: Buenos Aires
Posts: 15
Poder: 0
pnikkosis Va por buen camino
Leyendo articulos de como hacer insert+update dependiendo de si existe o no un primary key en la tabla, llegue a lo siguiente:
(de nuevo, estoy con firebird 1.5, que boludes seria si tuviera 2.1)

Un SP con algo como esto:

Código:
if exists('CODIGO') then 
update TABLANUEVA set
LOCAL2 = (el PRECIO que me dio el select del query2) 
where CODIGO = (codigo del select del query2);
else insert into TABLANUEVA (blablablabla el insert normal)
tendria que crear un stored procedure dentro de mi base nueva, y llamar a ese SP en cada while que haga.
entonces en el primer while (del query1 de la base1) hago un insert unicamente porque en la base nueva no hay ningun dato. Y a partir de la segunda base hasta la baseN dentro de los while corro un SP como este, si el codigo ya existe va a actualizar el campo que le correspone a esa tabla (el precio) y sino existe va a insertar la linea entera.

Mi problema radica en que no tengo la menor idea como hacer un SP jaja, estuve leyendo pero no entiendo muy bien eso de especificar input y outputs, y tambien me doy cuenta que en el stored procedure yo tendria que hacer referencia a campos de selects que estan en delphi, y eso tampoco tengo idea; por ejemplo, si empezara el if exists ('CODIGO'), que hace referencia al campo codigo del select del query2, pondria en delphi algo como
if exists ('+IBQuery2.FieldByName('CODIGO').AsString+'), pero como le digo a firebird que ese campo codigo esta en un select que hice con un query en delphi?
Sino lo que se me ocurrio hacer en delphy es directamente tirar un CREATE PROCEDURE con todos esos datos adentro y despues ejecutar el ibquery, pero me parece medio al pedo eso, tendria que hacer un create SP y un drop SP por cada linea del select, le saca el proposito al stored procedure.
Asi que ahora ando peleando con eso.
-----------

Soy un nabo no? hay un componente que es IBStoredProcedure, decime que lo linkeo a la base y despues en StoredProcName elijo el que tengo en la base y me deja linkear variables de delphi con variables de firebird

Última edición por pnikkosis fecha: 03-12-2009 a las 23:32:41.
Responder Con Cita
 



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
Tomar datos del lector de código de barras jam888 OOP 4 22-03-2010 17:53:03
Tomar datos de otra aplicacion dblx API de Windows 4 23-12-2008 01:16:38
Tomar datos de excel vinagre3ro Internet 2 04-10-2006 09:59:28
Hola soy muy nueva en esto de las bases de datos y deseo imprimir tablas nuri Impresión 1 05-07-2005 19:49:31
Como mostrar los datos para luego insertarlos? judoboy OOP 8 14-05-2003 09:51:51


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


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