SQL Server: sp_help со значениями по умолчанию - PullRequest
0 голосов
/ 02 апреля 2010

Есть ли альтернатива sp_help, которая включает значения по умолчанию для параметров?

Ответы [ 3 ]

1 голос
/ 02 апреля 2010

Эта статья может оказаться полезной, она фактически предоставляет пример кода для анализа стандартных определений для определения параметров по умолчанию.

Я ожидаю, что это будет исправлено в следующем выпуске - это значительный пробел в метаданных, и нет никакой реальной причины, по которой его не следует предоставлять.

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

USE [SandBox]
GO

/****** Object:  StoredProcedure [dbo].[usp_Test]    Script Date: 04/01/2010 20:23:11 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[usp_Test]
@input INT = 0
AS BEGIN
SELECT @input AS [output]
END
GO

EXEC sys.sp_addextendedproperty @name=N'TestXP', @value=N'testing' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'PROCEDURE',@level1name=N'usp_Test', @level2type=N'PARAMETER',@level2name=N'@input'
GO
1 голос
/ 02 апреля 2010

Я ожидал, что значение по умолчанию будет доступно в sys.all_parameters, и фактически это представление имеет столбец default_value. Но, к сожалению, он не используется для хранимых процедур T-SQL. MSDN говорит:

SQL Server поддерживает только настройки по умолчанию значения для объектов CLR в этом каталоге Посмотреть; следовательно, этот столбец будет всегда иметь значение 0 для Transact-SQL объекты. Для просмотра значение по умолчанию параметра в Transact-SQL объект, запросить определение столбца Просмотр каталога sys.sql_modules или использование системная функция OBJECT_DEFINITION.

Таким образом, представляется, что единственный способ получить значение по умолчанию для параметра хранимой процедуры - это анализ определения объекта.

0 голосов
/ 02 апреля 2010

Я считаю, что единственный встроенный метод - использовать sp_helptext для просмотра всего текста процедуры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...