Cita:
Empezado por fjcg02
Aqui el tema es que si pones a piñón el valor de la provincia, tendrás que tener un trigger diferente para cada BBDD de cada provincia.
Si coges el codigo de una tabla de parámetros, el trigger siempre será igual, y sólo tendrás que poner una pantalla de configuración que posibilite cambiar el valor para cambiarlo. Incluso podrías tener una tabla de provincias para hacer la selección más fácil.
|
Gracias a los dos por las respuestas, pero seguís sin contestarme a mi duda, y no os ofendáis; tal vez no os esté entendiendo.
Cita:
Empezado por Casimiro Notevi
Es que hay muchas formas de hacerlo y no sabemos cómo lo estás haciendo tú.
Supongamos que grabas el registro desde delphi/builder.
Código SQL [-]insert into afiliacion (codproveedor, nombre) values (45,'Alguien')
El trigger before insert sabe qué código de proveedor estás grabando, el 45, no tienes que hacer nada.
Ummm... sigo sin entender el problema
|
La forma que me explicas en que operan los triggers la entendí perfectamente, y el ejemplo que me pones de un INSERT puro y duro es lo que hago yo ahora (olvidaros de los valores a la derecha del signo igual; en la aplicación se "cargan" bien).
Código PHP:
Query->Close();
Query->SQL->Text = "INSERT INTO Afiliacion (CodPrv, Codigo, Nombre) VALUES (:CodPrv, :Codigo, :Nombre)";
Query->ParamByName("CodPrv")->AsString = ProvTit;
Query->ParamByName("Codigo")->AsInteger = Afiliacion->Tag;
Query->ParamByName("Nombre")->AsString = Afiliacion->Text;
Query->ExevcSQL();
Lo que creo que no acabáis de "pillar" es que el valor
ProvTit está guardado en una variable
DESDE QUE ARRANCA LA APLICACIÓN; por lo tanto es un valor que no tengo que buscar, ya existe:
Código PHP:
Query->Close();
Query->SQL->Text = "SELECT Valor FROM Instalacion WHERE Etiqueta = 'Provincia'";
Query->Open();
AnsiString ProvTit = FormatFloat("00", Query->FieldByName("Valor")->AsInteger);
En una tabla auxliar están guardados los datos básicos de la instalación: Propietario, domicilio, CIF, etc. y uno de ellos es la provincia que rescato con este código. Repito mi pregunta, que es válida tanto para el caso que ha abierto este hilo como para cualquier otro en que se usen procedimientos:
¿Cómo hago para meter en un stored procedure ese valor ProvTit que he sacado de una tabla y que no se modifica en toda la vida del programa? Esto es lo que no entiendo; meterlo "a capón" lo había comprendido desde el primer ejemplo que me puso Casimiro. Y los siento de veras por la paliza que os estoy dando y las molestias para explicármelo pero ya os dicho que soy bastante bruto.
Cita:
Empezado por fjcg02
Cada uno puede hacer lo que quiera, pero ya tengo una cana, y más sabe el zorro por viejo que por zorro.
|
¡Digo la sartén al cazo...!
De canas tampoco ando mal servido, pero nunca es tarde para aprender.