Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Теперь, когда Мэри может получить доступ к базе данных TestData , вы можете создать некоторые объекты базы данных, такие как представление и хранимая процедура, а затем предоставить мэри доступ к ним. Представление — это хранимый оператор SELECT, а хранимая процедура — это один или несколько операторов Transact-SQL, которые выполняются в составе пакета.
Представления запрашиваются как таблицы и не принимают параметры. Хранимые процедуры являются более сложными, чем представления. Хранимые процедуры могут иметь как входные, так и выходные параметры, а также содержать инструкции для управления потоком кода, например инструкций IF и WHILE. Хорошей практикой программирования является использование хранимых процедур для всех повторяющихся действий в базе данных.
В этом примере вы будете использовать CREATE VIEW для создания представления, которое выбирает только два столбца в таблице Products . Затем вы будете использовать CREATE PROCEDURE для создания хранимой процедуры, которая принимает параметр цены и возвращает только те продукты, которые стоят меньше указанного значения параметра.
Чтобы создать представление
Выполните следующую инструкцию, чтобы создать очень простое представление, которое выполняет инструкцию select, и возвращает имена и цены наших продуктов пользователю.
CREATE VIEW vw_Names AS SELECT ProductName, Price FROM Products; GO
Тестирование представления
Представления обрабатываются так же, как таблицы. Используйте инструкцию
SELECTдля доступа к представлению.SELECT * FROM vw_Names; GO
Создание хранимой процедуры
Следующая инструкция создает имя
pr_Namesхранимой процедуры, принимает входной параметр с именем@VarPriceтипаmoneyданных. Хранимая процедура выводит инструкциюProducts less than, сцепленную с входным параметром, который изменяется сmoneyтипа данных на тип символьныхvarchar(10)данных. Затем процедура выполняетSELECTинструкцию в представлении, передав входной параметр в рамкахWHEREусловия. Это возвращает все продукты, которые стоят меньше значения входного параметра.CREATE PROCEDURE pr_Names @VarPrice money AS BEGIN -- The print statement returns text to the user PRINT 'Products less than ' + CAST(@VarPrice AS varchar(10)); -- A second statement starts here SELECT ProductName, Price FROM vw_Names WHERE Price < @varPrice; END GO
Протестировать хранимую процедуру
Чтобы протестировать хранимую процедуру, введите и выполните следующую инструкцию. Процедура должна возвращать имена двух продуктов, введенных в
Productsтаблицу на занятии 1 с ценой, меньшей10.00.EXECUTE pr_Names 10.00; GO
Следующая задача на занятии
Предоставление доступа к объекту базы данных