89
Шартты жаңарту
Бұл вариант WHERE фразасын пайдаланады.
Бұл жағдайда тек WHERE
фраза шарты орындалатын кесте жолдарының бағандары жаңартылады.
Сұраныc 8. Барлық ассистенттердің айлығы мен үстемесін 10 % - ға
арттыру.
UPDATE TEACHER
SET Salary = Salary * 1.1, Rise = Rise * 1.1
WHERE LOWER(Dolgnost ) = 'ассистент';
Өз бетінше сұраныс жасау 9. Заң факультетінің деканаты 232 8 корпустың
бөлмесіне көшті деп белгіленсін.
WHERE фразасындағы ішкі сұраныстар
WHERE фразасында ішкі сұраныстарды пайдалануға болады,
SELECT
ұсынысында біз оны қалай жасағандай.
Бұл басқа кестелерден ақпарат негізінде жаңарту үшін жолдарды таңдауға
мүмкіндік береді.
Сұраныc 9. Мысалы, математика және информатика факультетінің
қолданбалы математика кафедрасының барлық оқытушыларының ставкасын
бір жарым есеге көбейту:
UPDATE TEACHER
SET Salary = Salary * 1.5
WHERE KOD_kafedru = (SELECT KOD_kafedru FROM KAFEDRA
WHERE LOWER(Name_kafedru) = 'қолданбалы математика');
SET фразасындағы ішкі сұраныстар
SET фразасының екі түрін қолдануға болады:
SET {баған_атауы | (бағандар_тізімі)} = (ішкісұраныс)
Сұраныc 10. Барлық ассистенттерге жоғары оқу
орны бойынша ағымдағы
орташа үстеменің 70% - ына тең үстемақы белгіленсін.
UPDATE TEACHER
SET Rise = (SELECT SUM(Rise) * 0.7 / COUNT(*) FROM TEACHER)
WHERE LOWER(Dolgnost ) = 'ассистент';
Бар жолдарды жою
Команда синтаксисі келесі:
DELETE FROM кесте_атауы [[AS] синоним]
[WHERE шарты];
Кестенің барлық жолдарын жою
Кестенің барлық мазмұнын жою үшін WHERE фразасын пайдалану қажет
емес. Есіңізде болсын,
сіз кестені өзі емес, тек оның барлық жолдарын алып
тастайсыз.
Сұраныc 11. Educator Мәліметтер қорында Қызметкерлер кестесін жою.
use Educator
90
DELETE FROM Қызметкерлер;
6.7 Көріністерді жасау және
басқару
Көріністі жасау үшін келесі Transact-SQL командасы қолданылады:
CREATE VIEW [Мәліметтер қорының аты.] [иесінің аты.]
Көріністің аты
[(Колонканың аты [,... n])]
[WITH{ENCRYPITION\SHEMABINDING\
VIEW_METADATA}
AS Команда SELECT
[WITH CHECK OPTION]
Тапсырма 1. Authors базалар кестесіне сілтеме жасайтын Auth көрінісін
жасау тек Калифорния 'СА' авторларын немесе
баспамен келісім-шартқа қол
қоймаған авторларды келесі команданы орындау арқылы көрсету:
CREATE VIEW auth
WITH SHEMABINDING
AS SELECT au_id, au_lname, au_fname, phone
FROM dbo. Authors
WHERE state = ‘CA’ OR contract = 0
WITH CHECK OPTION.
Тапсырма 2. Auth көрінісіне сілтеме жасайтын report көрінісін жасау және
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.
91
6.8
Мicrosoft SQL SERVER-дегі TRANSACT-SQL тілінің көмегімен
бағдарламалау негіздері
Кесте 1. Transact SQL тіліндегі арнайы белгілер
мен қарапайым операторлар
Достарыңызбен бөлісу: