我使用 plpgsql 来编写触发器 n 我想知道在 postgreSQL 中何时使用 = 和何时使用 := ,有什么区别???
例如:
CREATE OR REPLACE FUNCTION on_ai_myTable() RETURNS TRIGGER AS $$
DECLARE
t_ix real;
n int;
BEGIN
IF NEW.time_type = 'Start' THEN
SELECT t.time_index FROM table_ebscb_spa_log02 t WHERE t.fn_name = NEW.fn_name AND t.time_type = 'Start' ORDER BY t.timestamp02 DESC LIMIT 1 INTO t_ix;
GET DIAGNOSTICS n = ROW_COUNT;
IF (n = 0) THEN
t_ix = 1;
ELSE
t_ix = t_ix + 1;
END IF;
END IF;
NEW.time_index = t_ix;
return …Run Code Online (Sandbox Code Playgroud) 这个功能有什么问题?已编辑>>
CREATE OR REPLACE FUNCTION on_ai_myTable() RETURNS TRIGGER AS $$
BEGIN
SELECT fn_name, count(*) + 1 FROM table_ebscb_spa_log02 WHERE time_type = 'Start' GROUP BY fn_name
RETURN NEW.fn_name;
END
$$
LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
好的,我添加了“;” 但是现在,当我尝试创建它时,它向我发送消息 ERROR: syntax error at or near "RETURN" LINE 5: RETURN fn_name;
我该如何解决????
谢谢高级。
什么是"DESC LIMIT 1"用于plpgsql ??? 在这个例子中
ORDER BY t.timestamp02 DESC LIMIT 1
Run Code Online (Sandbox Code Playgroud)