Текущий архив: 2002.08.29;
Скачать: CL | DM;
Вниз
Народ помогите!! Найти похожие ветки
← →
Natalishka © (2002-08-07 13:26) [0]В Оракле нет автоинкрементного типа поля((
подскажите как его выразить?
через триггер?
я создала триггер кот должен добовлять этот тип при Insert before
но
при заполении
допустим Id это уникальное наше автоинкрементного типа поля
и v1 varchar2(15)
Insert into vrem
(v1)
values("about")
а этот тип поля не надо писать тут ?
а IB такое не писали!
подскажите
или через...SEQUENCE
как??
я мучаюсь уже котрый день!
← →
Delphi7 (2002-08-07 13:32) [1]Зачэм мучаешься, да ?! Загляны в документацею по Оракулу !
Али в хэлп по нему же...
← →
dimis (2002-08-07 14:02) [2]>> Delphi7 согласен
однозначно это делается через sequence
insert into Table1(ide,...) values(seq1.nextval,"RRR")
где seq1 - SEQUENCE
← →
fnatali © (2002-08-07 14:02) [3]>или через...SEQUENCE - правильное направление
← →
Natalishka © (2002-08-07 14:05) [4]>Dimis
я уже так делала не работет!
insert into Table1(ide,...) values(seq1.nextval,"RRR")
такую же пишет ошибку
← →
fnatali © (2002-08-07 14:06) [5]Какую ошибку?
← →
Natalishka © (2002-08-07 14:12) [6]Cannot insert null into ("user"."BD"."ID")
← →
robi © (2002-08-07 14:15) [7]>или через...SEQUENCE
← →
Natalishka © (2002-08-07 14:22) [8]> Robi
не поняла
или через...SEQUENCE??
← →
fnatali © (2002-08-07 14:31) [9]А в каком-нибудь SQL-редакторе (SQL Navigator, TOAD или чем ты пользуешься) этот запрос отрабатывает?
← →
Val © (2002-08-07 14:32) [10]create sequence seq1 - такую штуку делали?
← →
Johnmen © (2002-08-07 14:32) [11]Полный текст запроса в студию !
← →
Natalishka © (2002-08-07 14:44) [12]использую! SQL Navigator
1.создаю sequence
CREATE SEQUENCE VIP.GEN
START WITH 1
INCREMENT BY 1
2.база vrem (на всякий)
CREATE TABLE VIP.VREM
(
id INTEGER NOT NULL,
v1 VARCHAR2 (15),
constraint PK_vrem primary key (id)
);
3.пытаюсь в SQL Editor
внести в базу данные
insert into vrem
(id,v1)
values (gem.NEXTVAL,"about")
вот и тут ошибка
Cannot insert null into ("VIP"."VREM"."ID")!!!
← →
Внук © (2002-08-07 14:48) [13]CREATE SEQUENCE VIP.GEN
...
values ( gem.NEXTVAL
???
← →
Natalishka © (2002-08-07 14:49) [14]и ещё попробовала это же сделать
только в ту переменную
где id INTEGER без NOT NULL
тада всё работает!
а мне надо
id INTEGER NOT NULL
← →
Natalishka © (2002-08-07 14:52) [15]Внук
попробуй сам присвоить такое значение полю Integer not null
получится ли у тебя?
← →
Внук © (2002-08-07 14:53) [16]См. fnatali © (07.08.02 14:31)
Скорее всего запрос отрабатывает во внешних приложения, а в программе не работает, потому что у Id Required=true - распространенная ошибка
← →
dimis (2002-08-07 14:54) [17]попробуй так
create or replace procedure insert_vrem(rrr varchar2)
is
in_ide number;
begin
select gem.NEXTVAl into in_ide from dual
insert into vrem
(id,v1)
values (in_ide,rrr)
end;
← →
Val © (2002-08-07 15:03) [18]>Natalishka © (07.08.02 14:49)
а мне надо
id INTEGER NOT NULL
constraint PK_vrem primary key (id)
это делает
← →
Natalishka © (2002-08-07 15:04) [19]> Dimis
dual это что какая то друцгая бд?
← →
Val © (2002-08-07 15:09) [20]>Natalishka © (07.08.02 15:04)
dual такая таблица, в которой есть все :)
можно по простому:
in_ide := gen.NEXTVAl , но это лишнее действие, должно работать и так:
insert into vrem
(id,v1)
values (gen.NEXTVAL,"about");
← →
Внук © (2002-08-07 15:32) [21]Ну что вы здесь ненаучную фантастику разводите - работает ведь все дословно из Natalishka © (07.08.02 14:44) в PL/SQL Developer.
>"получится ли у тебя?"
Так ведь эттта... Не первый год уже работаю с Oracle, пока все получается
← →
3JIA9I CyKA © (2002-08-07 15:51) [22]8)
← →
Natalishka © (2002-08-08 07:52) [23]все спасибо всё получилось!
но на счёт триггеров так и ни кто не ответил!
если я создала триггер кот при добавлении в таблицу заносить сам этот тип поля
то как его указать?
где ??
при вставке данных?
← →
dimis (2002-08-08 09:14) [24]я делал так
TRIGGER my_tr
before insert on vrem
for each row
declare
-- local variables here
begin
if :new.id is null then
select my_seq.nextval
into :new.id
from dual ;
end if;
end dog_befin_tr;
← →
Внук © (2002-08-08 09:21) [25]Имеется в виду вот это?
CREATE OR REPLACE TRIGGER VIP.TI_VREM BEFORE INSERT ON VIP.VREM FOR EACH ROW
BEGIN
:NEW.ID:=GEM.NEXTVAL;
END;
Страницы: 1 вся ветка
Текущий архив: 2002.08.29;
Скачать: CL | DM;
Память: 0.52 MB
Время: 0.02 c