Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка и сопровождение БД в среде MS SQL Se...doc
Скачиваний:
316
Добавлен:
14.11.2019
Размер:
1.71 Mб
Скачать

From dbo. Authors

WHERE state = ‘CA’ OR contract = 0

WITH CHECK OPTION

Задание 1.4.2. Создать представление report, которое ссылается на представление auth и таблицы titleauthor и titles, и в котором выводятся имя автора au_fname, фамилия автора au_lname и сокращенные названия написанных им книг. Необходимо выполнить команду:

CREATE VIEW report

AS SELECT [Фамилия] = CAST (au_lname aschar(10)),

[Имя] = CAST(au_fname aschar(10)),

[Название книги] =

CAST (title as char(30)) +

CASE WHEN LEN (title) >30 THEN ‘...’ END

FROM auth a, titleauthor ta, titles t

WHERE ta.au_id = a.au_id AND

t.title_id = ta .title_id

1.5. Добавление, модификация и удаление данных в таблицах

Задание 1.5.1. Использование простой команды INSERT

Create Database InsertDB

Create Table TabA(Col1 int,Col2 varchar(30))

Insert TabA Values(1,'Пример 1')

Задание 1.5.2. Использование произвольной последовательности колонок таблицы

Create Table TabB(Col1 int,Col2 varchar(30))

Insert TabB (Col2,Col1) Values('Пример В',1)

Задание 1.5.3. Использование нулевых значений и значений по умолчанию

Create Table TabC(Col1 int IDENTITY,

Col2 varchar(30)

CONSTRAINT default_name DEFAULT('Значение TabC.Col2'),

Col3 int NULL,

Col4 varchar(40))

Insert Into TabC(Col4) Values('Значение 1 TabC.Col4')

Insert Into TabC(Col2,Col4) Values('Явное значение TabC.Col2','Значение 2 TabC.Col4')

Insert Into TabC(Col2,Col3,Col4) Values('SAV',44, 'ABC')

Задание 1.5.4. Явное задание значения для колонки-счетчика (с ограничением IDENTITY)

Create Table TabD(Col1 int IDENTITY,

Col2 varchar(30))

Insert Into TabD Values('Счетчик изменяется автоматически')

Insert Into TabD(Col2) Values('Вторая строка')

Set IDENTITY_INSERT TabD ON

Insert Into TabD(Col1,Col2) Values(-99, 'Явное значение')

Задание 1.5.5. Использование представления для занесения значений в таблицу

Create Table TabE(Col1 int,Col2 varchar(30))

GO

Create View ViewE AS Select Col2,Col1 From TabE

GO

Insert Into ViewE Values('Строка 1',1) -- порядок ViewE

Задание 1.5.5. Использование опции DEFAULT VALUES.

Create Default bound_default2 AS 'Col4'

GO

Create Table TabF(Col1 int IDENTITY,

Col2 varchar(30)

CONSTRAINT Fdefault_name DEFAULT('Значение TabF.Col2'),

Col3 timestamp,

Col4 varchar(30),

Col5 int NULL

)

GO

EXEC sp_bindefault 'bound_default2','TabF.Col4'

GO

USE InsertDB

Insert Into TabF default values

Задание 1.5.6. Использование команды SELECT для копирования данных в таблицу.

Create Table TabG(Col1 int IDENTITY,

Col2 varchar(50))

GO

Set IDENTITY_INSERT TabG ON

GO

Insert Into TabG (Col1,Col2)

Select Col1,Col2 From TabD

GO

Select * From TabG

GO

Задание1.5.7. Модификация данных с помощью команды UPDATE.

Declare @@Var1 int

SET @@Var1 = 0

Update #TempTableAuthors SET @@Var1 = @@Var1 + 1

Where Contact = 0

Select @@Var1

GO

Declare @@Var2 varchar(40)

Update #TempTableAuthors SET @@Var2 = au_lname = au_lname + '__NO CONTRACT__'

Where Contact = 0

Select au_id, au_lname, phone From #TempTableAuthors --2строки

Where Contract = 0

Select @@Var2 AS 'Значение переменной @@Var2' --1строка

Задание1.5.8. Использование команды DELETE.

Delete From #TempTableAuthors

Select * From #TempTableAuthors