Читайте также: |
|
-- **********************************************************************
-- Создаем хранимую процедуру dbo.get_customers_by_region
-- **********************************************************************
IF OBJECT_ID('dbo.get_customers_by_region', 'P') IS NOT NULL
DROP PROCEDURE dbo.get_customers_by_region
GO
CREATE PROCEDURE dbo.get_customers_by_region @data xml
AS
BEGIN
DECLARE @hDoc int
DECLARE @tbl TABLE(state VARCHAR(20))
EXEC sp_xml_preparedocument @hDoc OUTPUT, @data
INSERT @tbl
SELECT StateName
FROM OPENXML(@hDoc, 'Root/States')
WITH (StateName VARCHAR(20))
EXEC sp_xml_removedocument @hDoc
SELECT * FROM Customers
WHERE Region IN (SELECT * FROM @tbl)
END
GO
-- **********************************************************************
-- Проверяем хранимую процедуру dbo.get_customers_by_region
-- **********************************************************************
DECLARE @s xml
SET @s =
'<Root>
<States StateName = "OR"/>
<States StateName = "CA"/>
<States StateName = "WA"/>
</Root>'
EXEC dbo.get_customers_by_region @s
GO
GREAL Great Lakes Food Market Howard Snyder Marketing Manager 2732 Baker Blvd. Eugene OR
HUNGC Hungry Coyote Import Store Yoshi Latimer Sales Representative City Center Plaza 516 Main St. Elgin OR
LAZYK Lazy K Kountry Store John Steel Marketing Manager 12 Orchestra Terrace Walla Walla WA
LETSS Let's Stop N Shop Jaime Yorres Owner 87 Polk St. Suite 5 San Francisco CA
LONEP Lonesome Pine Restaurant Fran Wilson Sales Manager 89 Chiaroscuro Rd. Portland OR
THEBI The Big Cheese Liz Nixon Marketing Manager 89 Jefferson Way Suite 2 Portland OR
TRAIH Trail's Head Gourmet Provisioners Helvetius Nagy Sales Associate 722 DaVinci Blvd. Kirkland WA
WHITC White Clover Markets Karl Jablonski Owner 305 - 14th Ave. S. Suite 3B Seattle WA
Вариант 21
В таблицу Employees базы данных Northwind добавить столбец DriverNo varchar(15) NULL (номер водительского удостоверения) и наполнить его данными. Затем создать и протестировать SQL DML триггер AFTER на события INSERT и UPDATE для таблицы Employees, который проверяет уникальность значения в столбце DriverNo. Если номер водительского удостоверения не уникален, операция вставки/обновления прерывается.
сравнить количество записей селект дистинкт и простого селект.
Вариант 22
В базе данных Northwind создать таблицу CategoriesBudget(CategoryID int NOT NULL PRIMARY KEY REFERENCES Categories (CategoryID), Budget money NOT NULL DEFAULT 0) и заполнить ее произвольными, но корректными числами. Затем создать представление, состоящее из столбцов CategoryID и CategoryName из таблицы Categories и столбца Budget из таблицы CategoriesBudget. Наконец создать и протестировать SQL DML триггер INSTEAD OF на событие UPDATE для представления, который обновляет базовые таблицы.
Вариант 23
Создать и протестировать скалярную функцию на T-SQL, которая для символьной строки, указываемой параметром функции, возвращает строку, удаляя все многострочные комментарии T-SQL. Протестировать функцию на примере процедур, имена которых начинаются с префикса 'usp_'.
-------------------
Дата добавления: 2015-02-16; просмотров: 72 | Поможем написать вашу работу | Нарушение авторских прав |