Ver Mensaje Individual
  #8  
Antiguo 21-04-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 23
guillotmarc Va por buen camino
Cita:
Empezado por Young Ver Mensaje
Creo que encontré la respuesta a la pregunta que NO supe plantear bien... por eso ruego sus disculpas. En el fondo necesitaba saber por ejemplo, si un sentencia if consultando por la existencia de una tabla podia ir fuera de un procedimiento almacenado... la respuesta es no, pero usando EXECUTE BLOCK se soluciona.

Código SQL [-]SET TERM !! ; EXECUTE BLOCK AS BEGIN if (not exists(select 1 from rdb$relations where rdb$relation_name = 'EMPLOYEE')) then execute statement 'create table employee ( id integer );'; END!! SET TERM ; !!



Gracias.
Vaya, que interesante. Nunca se me había ocurrido utilizar el EXECUTE BLOCK de esta forma (en realidad nunca utilizo esa sentencia porqué el dbExpress de Delphi 6 no la acepta).

Para las actualizaciones utilizo los Scripts de IBExpert, precisamente porqué tienen extensiones para realizar este tipo de condicionales. Pero si con esta construcción se puede utilizar un Script estándar, aceptado directamente por el motor, mejor que mejor.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita