Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Cambiar el valor de una secuencia... (https://www.clubdelphi.com/foros/showthread.php?t=63643)

Jose Roman 24-02-2009 17:54:08

Cambiar el valor de una secuencia...
 
Hola a todos,
Tengo Firebird 2.1 y como administrador utilizo FlameRobin, estoy creando un procedimiento para borrar una tabla y crear reiniciar la sequencia a 1, pero me da un error, alguna idea??. Adjunto el procedimiento y error. Gracias de antemano.
Código SQL [-]
SET TERM ^ ;
ALTER PROCEDURE CIERRE
AS
BEGIN
  DELETE FROM DIARC;

  ALTER SEQUENCE ID_DIARC RESTART WITH 1;
END^
SET TERM ; ^
El error es:
Engine Code : 335544569
Engine Message :
Dynamic SQL Error
SQL error code = -104
Token unknown - line 7, column 3
ALTER

scorpion-salta 31-01-2011 06:46:58

solucion
 
Cita:

Empezado por Jose Roman (Mensaje 339175)
Hola a todos,
Tengo Firebird 2.1 y como administrador utilizo FlameRobin, estoy creando un procedimiento para borrar una tabla y crear reiniciar la sequencia a 1, pero me da un error, alguna idea??. Adjunto el procedimiento y error. Gracias de antemano.
Código SQL [-]
SET TERM ^ ;
ALTER PROCEDURE CIERRE
AS
BEGIN
  DELETE FROM DIARC;

  ALTER SEQUENCE ID_DIARC RESTART WITH 1;
END^
SET TERM ; ^
El error es:
Engine Code : 335544569
Engine Message :
Dynamic SQL Error
SQL error code = -104
Token unknown - line 7, column 3
ALTER

Hola, tenia un problema similar y logre solucionarlo.

El tema es que no se puede ejecutar el codigo alter desde un procedimiento.
Para ello hay que usar EXECUTE STATMENT cadena ;

ej: EXECUTE STATMENT 'ALTER SEQUENCE ID_DIARC RESTART WITH 1;';

Jose Roman 31-01-2011 15:38:52

Gracias definitivamente me sirve mucho esa ayuda.


La franja horaria es GMT +2. Ahora son las 10:12:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi