Respuesta: duda con insersion multiple en phpmaker Hola, te comento que yo tuve el mismo caso, utilizando BD MSSQLServer y la solucion fue crearme una vista en SQLServer con los campos de todas las tablas que necesitaba para mi formulario y luego crear un trigger en la vista para el evento afterupdate (despues de actualizar) donde colocaba las consultas para actualizar los campor en las tablas correspondientes, el caso es que por lo general las vistas no son editables por eso se debe crear en la BD el procedimiento para actualizar.
CREATE TRIGGER [dbo].[reppozo_update] ON [dbo].[reppozo]
WITH EXECUTE AS CALLER
INSTEAD OF UPDATE
AS
BEGIN
/* Este proceso hace actualizable la vista reppozo*/
/* Trigger body */
SET NOCOUNT ON
UPDATE infopozo
SET
costo = I.costo,
fecexp = I.fecexp,
estad = I.estad,
condi = I.condi,
surg = I.surg,
uso = I.uso,
altbo = I.altbo,
cauda = I.cauda,
diame = I.diame,
profe = I.profe,
profd = I.profd,
elect = I.elect
FROM infopozo E, inserted I
WHERE E.idpozo = I.idpoz
UPDATE
dbo.ubicacionpozo
SET
idlocal = I.idlocal,
idbarri = I.idbarri,
direcc = I.direcc,
acces = I.acces,
corx = I.corx,
cory = I.cory
FROM ubicacionpozo E, inserted I
WHERE E.idpozo = I.idpoz
UPDATE
dbo.perpozo
SET
idtipper = I.idtipper,
idmetp = I.idmetp,
desper = I.desper,
desequ = I.desequ,
idemp = I.idemp
FROM perpozo E, inserted I
WHERE E.idpozo = I.idpoz
UPDATE
dbo.instalpozo
SET
idbomba = I.idbomba,
idextra = I.idextra,
poten = I.poten,
profs = I.profs,
idfuem = I.idfuem,
diame = I.diame,
medic = I.medic
FROM instalpozo E, inserted I
WHERE E.idpozo = I.idpoz
UPDATE
dbo.puntomonitoreo
SET
codptm = I.idproy,
nomptm = I.nomd,
corx = I.corx,
cory = I.cory,
estado = I.estad
FROM puntomonitoreo E, inserted I
WHERE E.ideptm = I.idpoz
UPDATE
dbo.pozo
SET
idemp = I.idemp,
idproy = I.idproy,
nomd = I.nomd,
prof = I.prof
FROM pozo E, inserted I
WHERE E.idpoz = I.idpoz
UPDATE
dbo.empresa
SET
dbo.empresa.nom = I.nom,
dbo.empresa.dir = I.dir,
dbo.empresa.fon = I.fon,
dbo.empresa.fax = I.fax,
dbo.empresa.mail = I.mail,
dbo.empresa.cel = I.cel,
dbo.empresa.web = I.web
FROM empresa E, inserted I
WHERE E.idemp = I.idemp
END
GO
En PHPMaker luego debes especificar el (los) campo(s) llave(s) para la vista creada. |