"PEAKTOP" <[email protected]> сообщил/сообщила в новостях следующее: news:[email protected]...
EXECUTE BLOCK AS DECLARE VARIABLE P_SQL_STMT BLOB SUB_TYPE TEXT; BEGIN IF(EXISTS( SELECT P.RDB$PROCEDURE_ID FROM RDB$PROCEDURES P WHERE (P.RDB$PROCEDURE_NAME='PROC$_DB_GIUD') ))THEN EXIT; P_SQL_STMT ='CREATE OR ALTER PROCEDURE PROC$_DB_GUID RETURNS ( '||ASCII_CHAR(13)||ASCII_CHAR(10)||' GUID VARCHAR(38) '||ASCII_CHAR(13)||ASCII_CHAR(10)|| ')AS '||ASCII_CHAR(13)||ASCII_CHAR(10)|| 'BEGIN '||ASCII_CHAR(13)||ASCII_CHAR(10)||' GUID = '''||UUID_TO_CHAR(GEN_UUID())||'''; '||ASCII_CHAR(13)||ASCII_CHAR(10)||' SUSPEND; '||ASCII_CHAR(13)||ASCII_CHAR(10)|| 'END'; EXECUTE STATEMENT :P_SQL_STMT; END Хоть при каждом запуске приложения выполняй.А если настоящий шахид, то можно тело блока вообще в триггер ON CONNECT впихнуть.
Тут как-бы не про это было. А что при создании базы СЕРВЕРОМ ей назначается гуид, который нельзя поменять.

