ВУЗ:
Составители:
Рубрика:
36
– в Oracle:
UPDATE ADMIN_PAY.Staff SET Post = 'нет сведений' WHERE
RTRIM(Post) = '' OR Post IS Null;
Оператор обработки данных Insert.
56. Добавить в таблицу сотрудников новую запись, причем так, чтобы
табельный номер был автоматически увеличен на 1, а в должности стояло
значение ‘нет сведений’:
– в VFP (если табельный номер без автонаращивания):
SELECT MAX(T_number) AS Max_ FROM Staff INTO CURSOR Temp
INSERT INTO Staff(T_number, Post)VALUES(Temp.Max_+1, ‘нет
сведений’)
– в MS SQL Server (если табельный номер c автонаращиванием,
объявленным через IDENTITY(1,1) ):
INSERT INTO Staff(Post)VALUES('нет сведений')
– в MS SQL Server(если табельный номер без автонаращивания
):
Declare @max bigint
SET @max = (SELECT MAX(T_number) FROM Staff)
SET @max = ISNULL(@max, 0)
INSERT INTO Staff(T_number, Post)VALUES(@max+1, 'нет сведений')
– в Oracle (если для табельного номера объявлена последовательность
SEQUENCE для генерации уникальных ключей):
INSERT INTO ADMIN_PAY.Staff(T_number, Post)VALUES
(ADMIN_PAY.ID_STAFF_SEQ.NextVal, 'нет сведений');
– в Oracle (если для табельного номера нет объявленной
последовательности):
DECLARE
Max_ int;
BEGIN
SELECT MAX(T_number) INTO Max_ FROM ADMIN_PAY.Staff;
IF Max_ IS NULL THEN
Max_:=0;
END IF;
INSERT INTO ADMIN_PAY.Staff(T_number, Post)VALUES (Max_+1,
'нет сведений');
END;
Перед выполнением оператора добавления новой строки
использован SELECT для того, чтобы определить максимальное
значение ключевого
индексного поля таблицы и при добавлении новой
строки автоматически нарастить его, тем самым не нарушая
Страницы
- « первая
- ‹ предыдущая
- …
- 35
- 36
- 37
- 38
- 39
- …
- следующая ›
- последняя »