Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Роли базы данных и приложений. Предоставление прав на объекты в базе данныхСодержание книги
Поиск на нашем сайте
Фиксированные роли базы данных определяются на уровне базы данных и поэтому существуют в каждой базе данных, принадлежащей серверу баз данных. В таблице ниже приводится список фиксированных ролей базы данных и краткое описание действий, которые могут выполнять члены этих ролей.
Фиксированная роль базы данных public Кроме перечисленных в таблице фиксированных ролей базы данных, существует специальная фиксированная роль базы данных public. Фиксированная роль базы данных public является специальной ролью, членом которой являются все законные пользователи базы данных. Она охватывает все разрешения по умолчанию для пользователей базы данных. Это позволяет предоставить всем пользователям, которые не имеют должных разрешений, набор разрешений (обычно ограниченный). Роль public предоставляет все разрешения по умолчанию для пользователей базы данных и не может быть удалена. Пользователям, группам или ролям нельзя присвоить членство в этой роли, поскольку они имеют его по умолчанию.
По умолчанию роль public разрешает пользователям выполнять следующие действия:
-просматривать системные таблицы и отображать информацию из системной базы данных master, используя определенные системные процедуры; -выполнять инструкции, для которых не требуются разрешения, например, PRINT.
Процедурное расширение языка SQL: Transact-SQL.
Создание и использование хранимых процедур. Пример.
Хранимая процедура – объект БД, хранящийся на сервере. Может возвращать одно значение и набор значений, а также не возвращать значения вовсе. Процедуры выполняются отдельно, их нельзя вызвать в запросах и других изображениях. Процедуры нужны для инкапсуляции повторяющихся действий, разделения бизнес-логики с клиентскими приложениями (часть логики реализована на стороне БД, часть – реализовывается в приложениях), для повышения безопасности БД, для сокращения сетевого трафика в вопросе обмена данными между клиентскими приложениями и СУБД. В хранимые процедуры можно помещать часто используемые запросы. Функция отличается от процедуры тем, что её можно вызывать в запросах и других выражениях. Всегда возвращает только одно значение.
Пример:
CREATE PROCEDURE components AS SELECT * FROM component; EXECUTE components; --///Процедура для вывода всех используемых компонентов для ремонта устройств go CREATE PROCEDURE componentspara @name char(40) AS SELECT * FROM component where name_component= @name; EXECUTE componentspara "Дисплей"; --///Процедура для вывода компонентов c именем "Дисплей"
Пользовательские функции. Создание и использование скалярных функций. Пример.
Скалярные пользовательские функции возвращают скалярный (однозначный) результат, такой как строка или число. Запрещается использовать нескалярные типы, такие как курсоры и таблицы. Кроме того, скалярные функции не могут возвращать значения с типом timestamp, text, ntext или image, а также значения, имеющие тип данных, определенный пользователем, даже если базовый тип при этом является скаляром.
CREATE FUNCTION providerdata (@provider varchar(150)) RETURNS varchar(150) AS BEGIN declare @fulldata varchar(150) select @fulldata = city + '-' + street_home + '-' +telefone from provider where vendor = @provider; RETURN (@fulldata) end go select dbo.providerdata ('ООО МобКомплект'); --///Функция получения и вывода данных поставщика по его названию
Создание и использование табличных функций. Пример.
Табличные пользовательские функции возвращают таблицу. Оператор CREATE FUNCTION поддерживает создание двух различных типов табличных функций: подставляемых и многооператорных. Тело подставляемой табличной функции состоит из единственного оператора SELECT, в то время как многооператорная табличная функция может состоять из любого числа операторов Transact-SQL. Синтаксис для подставляемой табличной функции является усеченной разновидностью оператора CREATE FUNCTION. Блок BEGIN...END отсутствует, и нет никаких других операторов, кроме RETURN. Синтаксис оператора CREATE FUNCTION для многооператорной табличной функции сочетает элементы синтаксиса для скалярной и для подставляемой функций:
CREATE FUNCTION имя_функции (список_параметров) RETURNS @локальная_табличная_переменная TABLE (определение_таблицы) AS BEGIN операторы_tsql RETURN END Подобно скалярным функциям, в многооператорной табличной функции команды Transact-SQL располагаются внутри блока BEGIN...END. Поскольку блок может содержать несколько операторов SELECT, в фразе RETURNS вы должны явно определить таблицу, которая будет возвращаться. Поскольку оператор RETURN в многооператорной табличной функции всегда возвращает таблицу, заданную во фразе RETURNS, он должен выполняться без аргументов, – например, RETURN, а не RETURN @myTable.
CREATE FUNCTION orderclientdata (@surname varchar(50)) RETURNS table AS RETURN (select * from client where surname = @surname) go select * from orderclientdata ('Сорин'); --///Табличная функция для получения и вывода данных клиента по его фамилии
|
||||
Последнее изменение этой страницы: 2021-07-18; просмотров: 121; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.152.49 (0.006 с.) |