salduos amigos, tengo 2 tablas las cuales las tengon en una relacion uno a uno, es decir que el id en ambas tablas tiene el mismo nombre y tipo de datos y lo que estoy intentando hacer es un procedimiento almacenado para poder borrar los registros de ambas tablas con una sola sentencia, segun yo la sentencia seria haci:
Código SQL:
Ver originalDELETE FROM nombre_de_tabla1,nombre_de_tabla2 WHERE id_de_las_tablas='aqui la condicion'
donde id_de_las_tablas es el nombre del id que aparece en cada tabla y que borrara los registros de estas tablas cuando cumplan la condicion.
no se si mi sintaxis esta bien ya que cuando intente correr esta consulta antes de poder hacer el procedimiento me aparece esto en pantalla:
Código SQL:
Ver originalERROR: error de sintaxis en o cerca de «,»
LINE 1: DELETE FROM prestador,servicio,practicas WHERE id_prestador=...
^
********** Error **********
ERROR: error de sintaxis en o cerca de «,»
podrian ayudarme???
NOTA: otra cosa que se me ocurrio, no se si se pueda es hacer un join para unir las tablas y poder borrar. otra por lo que estube investigando nombran algo llamado borrado en cascada pero lo que entendi que para que pueda duncionar es que debe de haber una relacion de uno a muchos creo.
Por ultimo, les muestro el procedimiento almacenado pero con las sentencias separadas, una por cada tabla hice las pruebas y si se borra:
Código SQL:
Ver originalCREATE OR REPLACE FUNCTION prueba_borrado(id CHARACTER)
RETURNS void AS
'delete from prestador where id_prestador=id;'
'delete from servicio where id_prestador=id;'
'delete from practicas where id_prestador=id;'
LANGUAGE SQL
Aun que con esto podria darme por bien servido, pero me gustaria poder optimizar esto y asi preever que podria llegar a tener mas de 2 tablas en relacion uno a uno.