【发布时间】:2017-05-24 18:55:59
【问题描述】:
这开始让我发疯,我找不到这不起作用的原因!
表格上有触发器,因此 cityID 和 postcodeID 会自动填充。该函数的目的是找到一个同名的城市并返回其 ID,否则将其添加到表中并返回新 ID。
CREATE OR REPLACE FUNCTION resolveCity(cityNameIn IN VARCHAR2)
RETURN NUMBER AS
cityIDOut NUMBER;
BEGIN
SELECT cityID
INTO cityIDOut
FROM tblCities
WHERE cityName = cityNameIn;
IF cityIDOut IS NULL THEN
-- Add this city to the list
INSERT INTO tblCities (cityName)
VALUES (cityNameIn)
RETURNING cityID INTO cityIDOut;
END IF;
RETURN(cityIDOut);
END;
/
【问题讨论】:
-
触发器是插入前还是插入后?
-
之前,它从序列中填充主键
标签: oracle