![]() |
Eficiencia en Tabla
Hola a todos, se que no es un foro de visual basic 6, pero como uso FIREBIRD tal ves me puedan ayudar
Resulta que tengo la siguiente consulta: Código:
Select c.id_contratos, c.fecha, c.paciente, c.obra_social_paciente, c.edad, c.feriado, c.nocturno, c.fin_semana, c.urgencia_diurna, c.edad_extrema, c.operacion_suspendida, Código:
cnn.Execute "INSERT INTO HISTORIAL_CRYSTAL " & "(FECHA,OBRA_SOCIAL,DNI,PACIENTE,EDAD,CODIGO,PROCEDIMIENTO,COMPLEJIDAD,OBSERVACIONES,ID_CIRUJANO,CIRUJANO,IMPORTE,ID_ANESTESIOLOGO,ANESTESIOLOGO) VALUES('" & _ Me podrian echar una manito de como crear el PROCEDURE Muchas Gracias |
Hola, no se entiende nada en ese "galimatías" :)
De todas formas, si quieres/necesitas un stored procedure, deberías de describirnos las tablas involucradas y lo que quieres que haga, exactamente. No somos adivinos ;) |
Explicacion
Perdon por la pregunta que fue bastante confusa, paso a describir lo que necesito
TABLA -> CONTRATOS: fecha, paciente, obra_social_paciente, edad, feriado, nocturno, fin_semana, urgencia_diurna, edad_extrema, operacion_suspendida, bilateral1, multiple1, via1, bilateral2, multiple2, via2, bilateral13, multiple3, via3, bilateral4, multiple4, via4, bilateral5, multiple5, via5, total_intervencion, anestesiologo1, cirujano1, cirujano2, paso TABLA -> PACIENTES: nombre, apellido, fecha_nacimiento, dni TABLA -> REL_PACIENTE: rel.numero_afiliado TABLA -> OBRA_SOCIAL: descripcion_complejidad TABLA -> NOMENCLADOR: codigo, descripcion, complejidad TABLA -> ANESTESIOLOGO: nombre, apellido TABLA -> CIRUJANO: nombre, apellido TABLA -> FACTURADO: porcentaje Y lo que necesito que salga es ID_CONTRATOS -> viene de CONTRATOS | id_contratos * campo INTEGER FECHA_CONTRATO -> viene de la tabla CONTRATOS | fecha *campo DATE ID_OBRA_SOCIAL -> viene desde CONTRATOS | obra_social_paciente * campo INTEGER NUMERO_AFILIADO -> viene desde REL_PACIENTE y PACIENTE | INNER JOIN rel_paciente rel ON (c.paciente = rel.id_paciente AND rel.id_obra_social = c.obra_social_paciente) * campo BLOB NOMBRE y APELLIDO -> viene desde PACIENTES | INNER JOIN pacientes p ON (c.paciente = p.id_paciente) * campo VARCHAR(50) EDAD -> viene desde CONTRATOS | edad * campo CHAR(5) CODIGO -> viene desde CONTRATOS y NOMENCLADOR | INNER JOIN nomenclador n ON (c.intervencion1 = n.id_nomenclador) * CAMPO BLOB y son 5 codigos uno bajo el otro PROCEDIMIENTO -> viene desde CONTRATOS y NOMENCLADOR | INNER JOIN nomenclador n ON (c.intervencion1 = n.id_nomenclador) * CAMPO BLOB y son 5 codigos uno bajo el otro COMPLEJIDAD -> viene desde CONTRATOS y NOMENCLADOR | INNER JOIN nomenclador n ON (c.intervencion1 = n.id_nomenclador) * CAMPO BLOB y son 5 codigos uno bajo el otro OBSERVACIONES -> viene desde CONTRATOS feriado, nocturno, fin_semana, urgencia_diurna, edad_extrema, bilateral1, multiple1, via1, bilateral2, multiple2, via2, bilateral13, multiple3, via3, bilateral4, multiple4, via4, bilateral5, multiple5, via5 * CAMPO BLOB bajo el otro ID_CIRUJANO -> viene desde CONTRATOS | cirujano1 * campo INTEGER CIRUJANO -> viene de CONTRATOS y CIRUJANO | LEFT JOIN cirujano ci ON (c.cirujano1 = ci.id_cirujano) y LEFT JOIN cirujano ci2 ON (c.cirujano2 = ci2.id_cirujano) | campo BLOB IMPORTE -> viene desde CONTRATOS | total_intervencion * campo DOUBLE PRECISION ID_ANESTESIOLOGO -> viene desde CONTRATOS | anestesiologo1 * campo BLOB ANESTESIOLOGO -> viene de CONTRATOS y ANESTESIOLOGO | LEFT JOIN cirujano ci ON (c.cirujano1 = ci.id_cirujano) * campo BLOB PORCENTAJE -> viene desde FACTURADO | INNER JOIN facturado fa ON (c.id_contratos = fa.id_contrato) * campo INTEGER DESCRIPCION_COMPLEJIDAD -> viene desde OBRA_SOCIAL | INNER JOIN obra_social o ON (c.obra_social_paciente = o.id_obra_social) * campo VARCHAR(10) Espero no haber confundido mas las cosas |
O sea, ¿quieres un select para extraer esos datos, no un stored procedure?
¿O acaso lo que quieres es una vista? |
Casimiro, lo que creo que quiere hacer es un select en el store procedure, para este ejemplo, paso a dar un ejemplo de mis procedimientos de consultas en firebird, espero te ayude en algo.
Los parámetros de entrada son: FECHA_INICIAL FECHA_FINAL USU_UUID_IN Los que se encuentran dentro de RETURNS (...), son los parámetros de salida, es decir, un select en un sp en Firebird, requiere que las columnas sean entregadas a parámetros de salida. Saludos. |
La franja horaria es GMT +2. Ahora son las 10:06:51. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi