2
我收到了這個'消息'表。插入後返回多個值
CREATE TABLE message (
id INT PRIMARY KEY,
user_id INT NOT NULL REFERENCES users (id) ON DELETE CASCADE,
category_id INT NOT NULL REFERENCES category (id) ON DELETE CASCADE,
text VARCHAR2(4000),
media VARCHAR2(500),
creation_date DATE DEFAULT SYSDATE
);
CREATE SEQUENCE message_seq;
CREATE OR REPLACE TRIGGER message_bir
BEFORE INSERT ON message
FOR EACH ROW
BEGIN
SELECT message_seq.NEXTVAL
INTO :new.id
FROM dual;
END;
之後我插入的東西,我需要最後插入的id和日期。
INSERT INTO message (user_id, category_id, media)
VALUES (1, 1, 'fdsfsd')
RETURNING id INTO :last_insert_id
上面給了我最後插入的ID,但就像我說我還需要creation_date。我不想做一個選擇查詢後...
是否有辦法在運行插入後返回2值?
,如果你想盡快插入後顯示插入日期那麼這將是永遠當前日期。爲什麼你不顯示當前的日期呢? –
根據文檔,您應該可以編寫:'RETURNING id,creation_date INTO:last_insert_id,:last_creation_date'。請參閱http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/returninginto_clause.htm –
由於服務器日期可能與客戶日期不同! – yooouuri