Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Инструкция DECLARE также присваивает созданной переменной значение NULL.




Язык SQL

Выражения, операторы, переменные, управляющие конструкции, преобразование типов в языке SQL.

Специальные знаки и простейшие операторы в Transact SQL

Знак Назначение Знак Назначение
* Знак умножения " " В них заключают строковые значения, если SET QUOTED_IDENTIFIER OFF
- Знак вычитания ‘ ’ В них заключают строковые значения
% Остаток от деления двух чисел <> Не равно
+ Знак сложения или конкатенации (объединение двух строк в одну) [ ] Аналог кавычек, в них можно заключать названия идентификаторов, если в их названиях встречаются пробелы
= Знак равенства или сравнения !< Не менее чем
<= Меньше или равно !> Не более чем
>= Больше или равно > Больше
!= Не равно < Меньше
@ Ставится перед именем переменной . Разделяет родительские и подчиненные объекты
@@ Указывает на системные функции / Знак деления
-- Однострочный комментарий или комментарий с текущей позиции и до конца строки /* */ Многострочный комментарий

Функция POWER - возводит число в степень

Константы

В стандарте определены следующие константы.

Для числовых типов данных определены константы в виде последовательности цифр с необязательным заданием знака числа и десятичной точкой. То есть правильными будут константы:

213 -314 612.716 + 551.702

Константы с плавающей запятой задаются, как и в большинстве языков программирования, путем задания мантиссы и порядка, разделенных символом E, например:

2.9E-4 -134.235E7 0.54267E18

 

При установке параметра

SET QUOTED_IDENTIFIER ON

строковые константы должны быть заключены в одинарные кавычки (режим по умолчанию).

Если использовать установленный параметр в режиме

SET QUOTED_IDENTIFIER OFF

строковые константы должны быть заключены в одинарных или двойных кавычках.

Переменные.

Локальная переменная Transact-SQL представляет собой объект, содержащий некоторое значение определенного типа.

Прежде чем использовать какую-либо переменную, ее следует объявить. Объявление переменной выполняется командой DECLARE, имеющей следующий формат:

DECLARE {@имя_переменной [AS]тип_данных }

[,...n]

 

DECLARE @d DateTime, @str As char(20)

 

Инструкция DECLARE также присваивает созданной переменной значение NULL.

 

Областью видимости переменной называют диапазон инструкций Transact-SQL, которые могут к ней обращаться. Переменные имеют локальную область видимости и доступны только внутри пакета или процедуры, где они объявлены. Пакет обозначается инструкцией GO Transact-SQL (см. далее).

Например, следующий сценарий содержит синтаксическую ошибку, поскольку переменная объявлена в одном пакете, а используется в другом:

DECLARE @MyVariable int;

SET @MyVariable = 1;

-- Конец пакета.

GO

-- @MyVariable не существует.

-- Этот оператор SELECT выдаст ошибку, так как ссылается на несуществующую переменную @MyVariable.

SELECT EmployeeID, NationalIDNumber, Title

FROM HumanResources.Employee

WHERE EmployeeID = @MyVariable;

 

В следующем примере вложенная область видимости, созданная для выполнения процедуры sp_executesql, не имеет доступа к переменной, объявленной в более высокой области видимости, и возвращает ошибку:

DECLARE @MyVariable int;

SET @MyVariable = 1;

EXECUTE sp_executesql N'SELECT @MyVariable'; -- ошибка

Msg 137, Level 15, State 2, Line 3

Must declare the scalar variable "@MyVariable1".

Примечание: Системная процедура sp_executesql в ыполняет инструкцию Transact-SQL или пакет инструкций, которые могут выполняться много раз или создаваться динамически.

Синтаксис:

sp_executesql [ @stmt = ] stmt

где: [ @stmt = ] stmt строка в Юникоде, содержащая инструкцию или пакет Transact-SQL. Аргумент stmt должен представлять собой константу в Юникоде или переменную в этом же формате.

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...