【发布时间】:2014-10-12 07:15:34
【问题描述】:
请帮助我理解以下 Oracle 游标代码。我对get_geog= geography 部分感到特别困惑。 geography 的值是多少?它是否具有 new.geography 的价值?还有c2b_rec.geolevel_id >= c2a_rec.geolevel_id这里的c2b_rec和c2a_rec有什么区别?
CREATE OR REPLACE TRIGGER tr_name
BEFORE DELETE OR INSERT OR UPDATE OF geography,
ON tbl_name
FOR EACH ROW
DECLARE
CURSOR c2(get_geog IN VARCHAR2, get_geolevel IN VARCHAR2) IS
SELECT *
FROM geolevels
WHERE get_geog = geography
AND get_geolevel = geolevel;
c2a_rec c2%ROWTYPE;
c2b_rec c2%ROWTYPE;
IF c2b_rec.geolevel_id >= c2a_rec.geolevel_id THEN
some code
【问题讨论】:
-
我理解您作为示例@zaratustra 提供的代码,但不是我最初发布的代码。我的问题仍然在
c2b_rec.geolevel_id >= c2a_rec.geolevel_id和WHERE get_geog = geography上。代码中没有opencursor 或 fetch cursor。
标签: sql-server oracle triggers cursor