PolarDB-for-PostgreSQL

Форк
0
35 строк · 798.0 Байт
1
DROP SEQUENCE next_id;
2
DROP TABLE ids;
3

4
CREATE SEQUENCE next_id START -2 MINVALUE -2;
5

6
CREATE TABLE ids (
7
	id		int4,
8
	idesc		text
9
);
10

11
CREATE TRIGGER ids_nextid
12
	BEFORE INSERT OR UPDATE ON ids
13
	FOR EACH ROW
14
	EXECUTE PROCEDURE autoinc (id, next_id);
15

16
INSERT INTO ids VALUES (0, 'first (-2 ?)');
17
INSERT INTO ids VALUES (null, 'second (-1 ?)');
18
INSERT INTO ids(idesc) VALUES ('third (1 ?!)');
19

20
SELECT * FROM ids;
21

22
UPDATE ids SET id = null, idesc = 'first: -2 --> 2'
23
	WHERE idesc = 'first (-2 ?)';
24
UPDATE ids SET id = 0, idesc = 'second: -1 --> 3'
25
	WHERE id = -1;
26
UPDATE ids SET id = 4, idesc = 'third: 1 --> 4'
27
	WHERE id = 1;
28

29
SELECT * FROM ids;
30

31
SELECT 'Wasn''t it 4 ?' as nextval, nextval ('next_id') as value;
32

33
insert into ids (idesc) select textcat (idesc, '. Copy.') from ids;
34

35
SELECT * FROM ids;
36

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.