Eso no funciona así. Mira la contestación de
Neftali, él te da un ejemplo.
Debes enfocar de otra forma. Tú tienes una BD, que es la que tienen los usuarios instalada.
En esa BD puedes tener un campo donde guardas la última sentencia ejecutada, ejemplo:
Cita:
UltimaSentenciaEjecutada integer;
|
Así cada cliente al abrir el programa, éste comprobará automáticamente si hay alguna actualización nueva, verificará si ya se ha ejecutado (mediante el campo UltimaSentenciaEjecutada, si es mayor entonces hay que ejecutarla, si es igual o menor es que ya se ejecutó en esta BD.
Hay infinidad de formas de hacerlo, puedes tener ficheros de sentencias (scripts.sql) con números consecutivos.
actualizacion1.sql, actualizacion2.sql, etc.
Puedes tener una BD externa con un par de campos:
Cita:
NumSentencia------SQL
1 update tbClientes add nuevocampo integer;
2 create table tbAlgo (id integer, nombre varchar(64)));
3 etc..
|
Y en UltimaSEntenciaEjecutada guardarías el NumSentencia última, obvio.
Hay varios hilos en los foros con ejemplos, echa un vistazo y luego regresa con las dudas que tengas.
Esto se ejecuta con isql o con algún componente de scripts, no se usa gbak.