Руководство по языку sql


Download 1.22 Mb.
Pdf ko'rish
bet23/62
Sana23.04.2023
Hajmi1.22 Mb.
#1393455
1   ...   19   20   21   22   23   24   25   26   ...   62
Bog'liq
Firebird3 SQL features

create table t1 ( 
id int primary key
int); 
insert into t1(id, a) values(1, 1); 
commit
alter table t1 add b int not null; -- не будет выполнено 
Statement failed, SQLSTATE = 22006 
unsuccessful metadata update 
-Cannot make field B of table T1 NOT NULL because there are 
NULLs present 


Новые возможности языка SQL Firebird 3.0 
30 
alter table t1 add b int default 0 not null; -- успешно 
выполнено 
Генераторы (последовательности)
Зарезервированные слова GENERATOR и SEQUENCE теперь являются 
полными синонимами. Там где раньше возможно было использовать ALTER 
SEQUENCE RESTART WITH
, теперь вместо слова 
SEQUENCE 
допускается слово GENERATOR. 
Предложение RESTART может быть использовано самостоятельно для 
перезапуска значения последовательности с того значения с которого был начат 
старт генерации значений или предыдущий рестарт. Для хранения этого значения 
добавлен 
столбец 
RDB$INITIAL_VALUE 
в 
системную 
таблицу 
RDB$GENERATORS. 
Необязательное предложение INCREMENT [BY] позволяет задать шаг 
приращения для оператора NEXT VALUES FOR . Для хранения 
шага приращения был добавлен столбец RDB$GENERATOR_INCREMENT в 
системную таблицу RDB$GENERATORS.
Синтаксис
{ CREATE | RECREATE } { SEQUENCE | GENERATOR }
[ START WITH ] [ INCREMENT [BY]
CREATE OR ALTER { SEQUENCE | GENERATOR }
RESTART | START WITH } [ INCREMENT [BY]
ALTER { SEQUENCE | GENERATOR }
RESTART [ WITH ] [ INCREMENT [BY]
Шаг приращения генератора (последовательности) 
Шаг приращения позволяет работать с генераторами согласно SQL 
стандарту с помощью конструкции 
NEXT VALUE FOR  
Аналогичной 
GEN_ID(, ), 
::= значение инкремента указанное при создании 
генератора 
По умолчанию приращение равняется единице для пользовательских 
генераторов и нулю для системных. Это делает возможным применение NEXT 


Новые возможности языка SQL Firebird 3.0 
31 
VALUE FOR
, поскольку теперь вы не можете изменять значения 
системных генераторов пользовательскими запросами. 
Примеры
-- Стартуют с нуля и изменяется с шагом 10 

Download 1.22 Mb.

Do'stlaringiz bilan baham:
1   ...   19   20   21   22   23   24   25   26   ...   62




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling