Разработка и сопровождение баз данных в среде СУБД MS SQL Server 2000. Сивохин А.В - 110 стр.

UptoLike

Задание 1.6.14. Использование раздела ORDER BY.
USE Northwind
Select ContactTitle, City From Customers
Where ContactTitle IN ('Marketing Assistant'
'Sales Agent'
'Sales Associate')
Order By ContactTitle,City
Задание 1.6.15. Использование раздела COMPUTE.
Select title_id, price From Titles
Where (type = 'bisiness') OR (type = 'mod_cook')
Compute SUM(price), COUNT(price)
Select title_id, price From Titles
Where (type = 'business') OR (type = 'mod_cook')
Order By type
Compute Count(price), Sum(Price) By type
1.7. Создание триггеров
Задание 1.7.1. Создать таблицу authsmall из таблицы authors базы данных Pubs
и для новой таблицы запрограммировать триггер auth_del, который будет выводить
информацию о попытках удаления и количестве удаляемых строк.
Сначала создадим таблицу authsmall c колонками au_id, au_fname, au_lname,
phone и скопируем
в нее данных из таблицы authors следующей командой
SELECT au_id, au_fname, au_lname, phone
INTO authsmoll
FROM authors
Затем создадим и запрограммируем триггер
CREATE TRIGGER auth_del
ON authsmall
FOR DELETE
AS
PRINT ‘Попытка удаления’ + STR (@@ POWCOUNT)+
строк в таблице authsmall’
PRINT ‘Пользователь’ + CURRENT_USER
IF CURRENT_USER <> ‘dbo’
BEGIN
PRINT ‘Удаление запрещено
ROLLBACK TRANSACTION
END
    Задание 1.6.14. Использование раздела ORDER BY.
    USE Northwind
    Select ContactTitle, City From Customers
      Where ContactTitle IN ('Marketing Assistant'
                                  'Sales Agent'
                                  'Sales Associate')
      Order By ContactTitle,City

    Задание 1.6.15. Использование раздела COMPUTE.
    Select title_id, price From Titles
      Where (type = 'bisiness') OR (type = 'mod_cook')
      Compute SUM(price), COUNT(price)

    Select title_id, price From Titles
      Where (type = 'business') OR (type = 'mod_cook')
      Order By type
      Compute Count(price), Sum(Price) By type


                              1.7. Создание триггеров
    Задание 1.7.1. Создать таблицу authsmall из таблицы authors базы данных Pubs
и для новой таблицы запрограммировать триггер auth_del, который будет выводить
информацию о попытках удаления и количестве удаляемых строк.
    Сначала создадим таблицу authsmall c колонками au_id, au_fname, au_lname,
phone и скопируем в нее данных из таблицы authors следующей командой
    SELECT au_id, au_fname, au_lname, phone
    INTO authsmoll
    FROM authors
    Затем создадим и запрограммируем триггер
    CREATE TRIGGER auth_del
    ON authsmall
    FOR DELETE
    AS
    PRINT ‘Попытка удаления’ + STR (@@ POWCOUNT)+
    ‘строк в таблице authsmall’
    PRINT ‘Пользователь’ + CURRENT_USER
    IF CURRENT_USER <> ‘dbo’
    BEGIN
     PRINT ‘Удаление запрещено’
     ROLLBACK TRANSACTION
    END