Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
/* Formatted on 2011/05/11 16:11 (Formatter Plus v4.8.7) */
CREATE SEQUENCE tmpseq
/
CREATE TABLE tmpt(a NUMBER, b NUMBER)
/
CREATE OR REPLACE TRIGGER tmpt_bi
BEFORE INSERT
ON tmpt
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
IF :NEW.a IS NULL
THEN
SELECT tmpseq.NEXTVAL
INTO :NEW.a
FROM DUAL;
END IF;
END;
/
DECLARE
l_a tmpt.a%TYPE;
n NUMBER;
BEGIN
FOR n IN 5 .. 8
LOOP
INSERT INTO tmpt
(b
)
VALUES (n
)
RETURNING a
INTO l_a;
DBMS_OUTPUT.put_line (l_a);
END LOOP;
END;
/
select * from tmpt
/
DROP TRIGGER tmpt_bi
/
DROP TABLE tmpt
/
DROP SEQUENCE tmpseq
/
COMMIT
иногда я не верю мануалам и проверяю себя небольшими кусочками кода. на этот раз я проверил конструкцию returning
Комментарии (3) RSS