Postgresql 要求用户输入插入行时带有触发器/函数的值

Postgresql 要求用户输入插入行时带有触发器/函数的值,postgresql,function,triggers,Postgresql,Function,Triggers,我正在努力做到这一点: 我想在postgres中创建触发器/函数。在插入某行之前,请用户在某个提示窗口中输入某个值。例如,我想这样做: 插入x(a,b,c)值(aa,bb,”) 默认情况下,值c应为空,但插入时用户可以填充该值。因此,在插入一个空值ctrigger的行时,将调用触发器,并要求用户填充它 有可能吗?最好的方法是什么? 我在想这样的事情: CREATE FUNCTION my_trigger_function() RETURNS trigger AS ' BEGIN IF NEW

我正在努力做到这一点:

我想在postgres中创建触发器/函数。在插入某行之前,请用户在某个提示窗口中输入某个值。例如,我想这样做:

插入x(a,b,c)值(aa,bb,”)

默认情况下,值
c
应为空,但插入时用户可以填充该值。因此,在插入一个空值
c
trigger
的行时,将调用触发器,并要求用户填充它

有可能吗?最好的方法是什么? 我在想这样的事情:

CREATE FUNCTION my_trigger_function()
RETURNS trigger AS '
BEGIN
  IF NEW.C1 IS NULL OR NEW.C1 = '''' THEN
    NEW.C1 := (HERE I WOULD LIKE TO CALL PROMPT WINDOW);
  END IF;
  RETURN NEW;
END' LANGUAGE 'plpgsql'

CREATE TRIGGER my_trigger
BEFORE INSERT ON T
FOR EACH ROW
    EXECUTE PROCEDURE my_trigger_function()

正如@Vao所说,PostgreSQL触发器上没有提示。用它来代替呢


postgres触发器没有提示,所以如果我的目标不可能实现。我可以将
表单中的值作为
php变量传递吗?所以我得到了
NEW.C1:=$xyz
?看看这个。谢谢你的建议。我试试看。
--Sets a run-time configuration parameter 
SELECT set_config('myapp.conf', 'Test', TRUE);

CREATE FUNCTION my_trigger_function()
RETURNS trigger AS $$
BEGIN
  --Gets the parameter  
  NEW.C1 := COALESCE(NULLIF(NEW.C1, ''), current_setting('myapp.conf', FALSE));
  RETURN NEW;
END$$ LANGUAGE 'plpgsql';

CREATE TRIGGER my_trigger
BEFORE INSERT ON T
FOR EACH ROW
    EXECUTE PROCEDURE my_trigger_function();