Sequence & DEFAULT klauzule (ORA 8.0.5)

Honza Pazdziora adelton na informatics.muni.cz
Pondělí Leden 17 11:46:26 CET 2000


> zkouším použít sequence a nějak se mi nedaří.
> Vytvořil jsem sequenci:
> 
> CREATE SEQUENCE seq_name starting with 1 increment by 1 nomaxvalue;
> 
> a chtěl ji použít jako default hodnotu v tabulce (v Application
> developer's guide, str. 4-26 se píše, že CURRVAL and NEXTVAL smí být
> použito m.j. pro DEFAULT value of a column in a CREATE TABLE or ALTER
> TABLE statement).

No, ono je tam prave napsano

	CURRVAL and NEXTVAL __cannot__ be used in these places:

	...
	*	DEFAULT value of a column in a CREATE TABLE or ALTER
		TABLE statement 
	...

Tech pripadu, kdy muze, je podstatne mene nez tech, kde nemuze ;-)

> Zkusil jsem tedy ALTER TABLE tabulka MODIFY (sloupec DEFAULT VALUE
> seq_name.NEXTVAL);
> a Ora mi hned mrsknul do očí nadávku, že: "ORA-00984: sloupec zde není
> povolen" a označil jméno sequence. To samé uvedl, rozšířil-li jsem název
> sequence na plné jméno, tedy schema.seq_name.
> 
> Mohli byste mi někdo sdělit, co dělám blbě?

No, pouzivate to v default klauzuli. Doporucuji napat si na to
trigger.

------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
   .project: Perl, DBI, Oracle, MySQL, auth. WWW servers, MTB, Spain.
------------------------------------------------------------------------


Další informace o konferenci Databases