![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL to ORACLE [D4]
Reticent © (2002-08-14 12:40:00)Доброе время суток!
Люди добрые помогите "конвертировать". Вот это на SQL:
CREATE TABLE ProzessQuerverweise
(Id int IDENTITY (1, 1) NOT NULL,
DokumentId int NULL DEFAULT 0,
VerweisId int NULL DEFAULT 0,
VorgaengerSortId int NULL DEFAULT 0,
NachfolgerSortId int NULL DEFAULT 0")
в Oracle. Я вообще Oracle только пару раз видел, а тут принесли код и грят надо бы для Oracle тоже самое смастерить. Помогите мне этот отрывочек переделать, а дальше я попробую сам.
Всего хорошего!
Reticent (2002-08-15 13:12:00) [1]нееет? я ...я... а это обязательно?
Johnmen (2002-08-15 12:48:00) [2]А ты разве не сделал типа
CREATE SEQUENCE seqPQ START WITH 1; ?
Reticent (2002-08-15 12:42:00) [3]Спасибо!
Это прошло, теперь появилось ORA-02289:sequence does not exist. :)
Это значит что нету секвенции в банке данных? или что-то другое?
Val (2002-08-14 14:08:00) [4]дополню:
1.default 0 можно оставить, я думаю;
2.null после объявления поля писать совсем не обязательно;
3.на id, являющееся, судя по всему, PK, удобно написать:
constraint pk_ProzessQuerverweise primary key(id), а not null не писать
Lusha (2002-08-14 13:40:00) [5]Что-то типа того...
CREATE TABLE ProzessQuerverweise
(Id NUMBER(9, 0) NOT NULL,
DokumentId NUMBER(9, 0) NULL,
VerweisId NUMBER(9, 0) NULL,
VorgaengerSortId NUMBER(9, 0) NULL,
NachfolgerSortId NUMBER(9, 0) NULL);
CREATE SEQUENCE seqPQ START WITH 1;
CREATE OR REPLACE TRIGGER trgbiPQ BEFORE INSERT ON ProzessQuerverweise
DECLARE
NUMBER(9, 0) V;
BEGIN
SELECT seqPQ.NEXTVAL INTO V FROM DUAL;
NEW.Id:=V;
// Тут можно другие поля нулями забить, но лучше выставить поля NOT NULL при создании...
END;