sp_batch_params (Transact-SQL)
Возвращает набор строк, содержащий информацию о параметрах, включенных в пакет Transact-SQL. Процедура sp_batch_params выполняет только синтаксический анализ пакета и возвращает сведения о значениях внедренных параметров. Она не исполняет пакет и не меняет среду исполнения.
Соглашения о синтаксическом обозначении в Transact-SQL
sp_batch_params [ [ @tsqlbatch = ] 'tsqlbatch']
- [ @tsqlbatch =] 'tsqlbatch'
Строка Юникода, содержащая инструкцию Transact-SQL или пакет, сведения о параметрах которого необходимо получить. Аргумент tsqlbatch имеет тип nvarchar(max) или тип, неявно преобразуемый к типу nvarchar(max).
Нет
Имя столбца | Тип данных | Описание |
---|---|---|
PARAMETER_NAME |
sysname |
Имя параметра, который SQL Server обнаружил в пакете. |
COLUMN_TYPE |
smallint |
Это поле всегда возвращает одно из следующих значений: 0 = SQL_PARAM_TYPE_UNKNOWN 1 = SQL_PARAM_TYPE_INPUT 2 = SQL_PARAM_TYPE_OUTPUT 3 = SQL_RESULT_COL 4 = SQL_PARAM_OUTPUT 5 = SQL_RETURN_VALUE В SQL Server 2005 этот столбец всегда равен 0. |
DATA_TYPE |
smallint |
Тип данных параметра (целочисленный код для типа данных ODBC). Если этот тип данных не может быть сопоставлен с типом SQL-92, то значением будет NULL. Имя собственного типа данных возвращается в столбце TYPE_NAME. Для SQL Server 2005 это значение равно NULL. |
TYPE_NAME |
sysname |
Строковое представление типа данных, как оно представляется в базовой СУБД. Для SQL Server 2005 это значение равно NULL |
PRECISION |
int |
Количество значащих цифр. Возвращаемое значение столбца PRECISION основано на десятичной системе счисления. |
LENGTH |
int |
Передаваемый размер данных. Для SQL Server 2005 это значение равно NULL. |
SCALE |
smallint |
Количество цифр справа от десятичного знака. Для SQL Server 2005 это значение равно NULL. |
RADIX |
smallint |
Основание системы счисления для числовых типов. Для SQL Server 2005 это значение равно NULL. |
NULLABLE |
smallint |
Определяет допустимость значений NULL: 1 = Тип данных параметра может быть создан со значением NULL. 0 = Значения NULL недопустимы. Для SQL Server 2005 это значение равно NULL. |
SQL_DATA_TYPE |
smallint |
Значение системного типа данных SQL Server, как оно показано в поле TYPE дескриптора. Этот столбец такой же, что и DATA_TYPE, за исключением типа данных datetime и типа данных SQL-92 interval. В этом столбце всегда возвращается значение. Для SQL Server 2005 это значение равно NULL. |
SQL_DATETIME_SUB |
smallint |
Вложенный код datetime или interval SQL-92, если значение SQL_DATA_TYPE равно SQL_DATETIME или SQL_INTERVAL. Для типов данных, отличных от datetime и interval SQL-92, этот столбец имеет значение NULL. Для SQL Server 2005 это значение равно NULL. |
CHAR_OCTET_LENGTH |
int |
Максимальная длина в байтах параметра типа данных character или binary. Для всех других типов данных этот столбец возвращает значение NULL. Для SQL Server 2005 это значение всегда равно NULL. |
ORDINAL_POSITION |
int |
Положение по порядку параметра в пакете. Если имя параметра повторяется несколько раз, то этот столбец содержит порядковый номер первого вхождения. Первый параметр имеет порядковый номер 1. Этот столбец всегда возвращает значение. |
Разрешения на исполнение процедуры sp_batch_params предоставлены роли public.
Следующий пример показывает запрос, передаваемый в процедуру sp_batch_params
. Результирующий набор перечисляет список значений внедренных параметров.
DECLARE @SQLString nvarchar(500);
/* Build the SQL string */
SET @SQLString =
N'SELECT * FROM AdventureWorks.HumanResources.Employee
WHERE ManagerID = @ManagerID';
EXECUTE sp_batch_params @SQLString
Пакеты
Running Stored Procedures
Running Stored Procedures (OLE DB)