Чтобы расширить комментарий @ Mikpa - очевидно, что было бы неплохо получить значения для ACCOUNTS.ANO и PASSUSE.LGN из последовательностей. Заполнение этих полей автоматически с помощью триггера также будет полезно. Примерно так:
-- Note that the following is intended as a demo. When executing these statements
-- you'll probably have to modify them for your particular circumstances.
SELECT MAX(ANO) INTO nMax_ano FROM ACCOUNTS;
SELECT MAX(LGN) INTO nMax_lgn FROM PASSUSE;
CREATE SEQUENCE ACCOUNTS_SEQ START WITH nMax_ano+1;
CREATE SEQUENCE PASSUSE_SEQ START WITH nMax_lgn+1;
CREATE TRIGGER ACCOUNTS_BI
BEFORE INSERT ON ACCOUNTS
FOR EACH ROW
BEGIN
SELECT ACCOUNTS_SEQ.NEXTVAL
INTO :NEW.ANO
FROM DUAL;
END ACCOUNTS_BI;
CREATE TRIGGER PASSUSE_BI
BEFORE INSERT ON PASSUSE
FOR EACH ROW
BEGIN
SELECT PASSUSE_SEQ.NEXTVAL
INTO :NEW.LGN
FROM DUAL;
END PASSUSE_BI;
Сделав вышесказанное, вы теперь можете записать свои вставки в эти таблицы как
INSERT INTO passuse (a_type, login, pass)
VALUES (1, temp_login, temp_pass)
RETURNING LGN INTO temp_lgn;
и
INSERT INTO accounts(lgn, a_name, street, zip, phone)
VALUES (temp_lgn, temp_name, temp_street, temp_zip, temp_phone);
Обратите внимание, что в обоих операторах значения ключей (PASSUSE.LGN и ACCOUNTS.ANO) не указаны в списке полей, поскольку новые триггеры должны позаботиться о их правильном заполнении. Также обратите внимание, что при вставке в PASSUSE предложение RETURNING используется для возврата нового значения для LGN, чтобы его можно было использовать при вставке в таблицу ACCOUNTS.
Делись и наслаждайся.