其实你想改变用户密码你只能调用 ibAPI 或者使用 ibx 一类的组件(其实 ibx 也只是 ibAPI 调用的包装)来完成。因为密码是加密的存储的。
所以“标准”使用就是:调用 ibAPI 或者 gsec.exe 实用程序增加修改用户。
--------------------------------------
只允许普通用户改变自己口令的脚本。
/*
Enhanced security database (isc4.gdb) - version A
-it allows users to change their own passwords,
-it allows SYSDBA to add, change, delete any username/password.
Written by: Ivan Prenosil, 2001
*/
CONNECT 'C:\Program Files\Borland\InterBase\isc4.gdb'
USER 'SYSDBA'
PASSWORD 'masterkey';
CREATE EXCEPTION E_NO_RIGHT
'You have no rights to modify this user.';
SET TERM !!;
CREATE TRIGGER user_name_bu
FOR USERS
BEFORE UPDATE
AS
BEGIN
IF (NOT (USER='SYSDBA' OR USER=OLD.USER_NAME))
THEN EXCEPTION E_NO_RIGHT;
END !!
SET TERM ;!!
/** Grants. **/
GRANT UPDATE(PASSWD, GROUP_NAME, UID, GID, FIRST_NAME, MIDDLE_NAME, LAST_NAME)
ON USERS
TO PUBLIC;