在Firebird数据库中,我需要创建一个DOMAIN
,其默认值取自上下文变量。
应该是
CREATE DOMAIN USER_ID AS INTEGER
DEFAULT RDB$GET_CONTEXT('USER_SESSION','UID') NOT NULL;
当我执行此操作时,我收到以下错误
令牌无效。
动态SQL错误。
SQL错误代码= -104 令牌未知 - 第2行,第13栏 RDB $ GET_CONTEXT。
如何做到这一点,或许还有另一种方式而不是DEFAULT
条款?
答案 0 :(得分:2)
只需创建一个BEFORE INSERT触发器:
CREATE TRIGGER your_trigger_name FOR your_table
BEFORE INSERT
POSITION 0
AS
BEGIN
IF (NEW.your_field IS NULL) THEN
NEW.your_field = RDB$GET_CONTEXT('USER_SESSION','UID');
END