Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Где в словаре данных хранится текст VIEW?  [new]
Muma
Member

Откуда:
Сообщений: 114
Добрый день!


В БД MSSQL2000 имеется много вьюх. Хочу создать таблицу (вернее VIEW) в которой будет список всех этих вьюх , Note к каждой (что делает) , и SQL-script каждой .

Предполагаю что текст VIEW подобно тексту ХП хранится в системных таблицах .

Кто знает где?
2 дек 09, 12:12    [8007371]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
qwerwqerqwer
Guest
Все знают где.
Зачем такое извращение ? Храните скрипты обьектов в VSS, TFS и других системах контроля версий.
2 дек 09, 12:20    [8007442]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Muma


Предполагаю что текст VIEW подобно тексту ХП хранится в системных таблицах .

Кто знает где?

Я бы даже сказал, что текст VIEW хранится в той же системной таблице, что и текст ХП
2 дек 09, 12:23    [8007483]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
Muma
Member

Откуда:
Сообщений: 114
Glory
Muma


Предполагаю что текст VIEW подобно тексту ХП хранится в системных таблицах .

Кто знает где?

Я бы даже сказал, что текст VIEW хранится в той же системной таблице, что и текст ХП



Та-а-а-к! Уже теплее

Есть самый смелый.

Кто назовет слово!?
2 дек 09, 12:27    [8007521]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
проходящий.
Guest
Muma
Кто назовет слово!?
BOL
2 дек 09, 12:33    [8007576]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Muma
Glory
Muma


Предполагаю что текст VIEW подобно тексту ХП хранится в системных таблицах .

Кто знает где?

Я бы даже сказал, что текст VIEW хранится в той же системной таблице, что и текст ХП



Та-а-а-к! Уже теплее


Хм. Вроде бы из первого сообщения вытекало, что вы знаете, где хранятся тексты процедур ?
2 дек 09, 12:33    [8007577]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
Muma
Member

Откуда:
Сообщений: 114
Не нашел!
2 дек 09, 12:48    [8007683]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
Glory
Member

Откуда:
Сообщений: 104760
syscomments
Только учтите, что все тексты "нарезаны" по 8000байт и могут располагаться в нескольких записях

Сообщение было отредактировано: 2 дек 09, 12:50
2 дек 09, 12:49    [8007685]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
Note к каждой (что делает) ,


BOL->sp_addextendedproperty
2 дек 09, 13:02    [8007779]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
Muma
Member

Откуда:
Сообщений: 114
Glory
syscomments
Только учтите, что все тексты "нарезаны" по 8000байт и могут располагаться в нескольких записях



Да, именно там!

Только вот смущает что начинаются они с CREATE VIEW .... AS . А нет ли где текста VIEW без "прелюдий"?
2 дек 09, 14:03    [8008241]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Muma
Glory
syscomments
Только учтите, что все тексты "нарезаны" по 8000байт и могут располагаться в нескольких записях



Да, именно там!

Только вот смущает что начинаются они с CREATE VIEW .... AS . А нет ли где текста VIEW без "прелюдий"?

Что вам мешает самому удалить "прелюдии" ?
2 дек 09, 14:05    [8008255]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Muma
А нет ли где текста VIEW без "прелюдий"?


Вам оно зачем, без "прилюдий"?! Там их может ой как много быть...

Сообщение было отредактировано: 2 дек 09, 14:10
2 дек 09, 14:09    [8008284]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
MCTS
Guest
SELECT S.Text
FROM syscomments as S
	INNER JOIN sysobjects as O ON O.ID=S.ID
WHERE o.XType='V' and o.Name='myView'
ORDER BY O.Type, O.name
2 дек 09, 14:52    [8008653]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
Muma
Member

Откуда:
Сообщений: 114
pkarklin
автор
Note к каждой (что делает) ,


BOL->sp_addextendedproperty



А вот эта самая sp_addextendedproperty сможет к VIEW в словаре данных добавить поле типа 'text' чтобы там можно было бы забить описание этой вьюшки?
3 дек 09, 08:14    [8011755]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Muma
А вот эта самая sp_addextendedproperty сможет к VIEW в словаре данных добавить поле типа 'text' чтобы там можно было бы забить описание этой вьюшки?


Вы читали статью в BOL? Синтаксис смотрели? Примеры изучили? Причем тут "поле text в словаре данных"?! 8-/
3 дек 09, 08:19    [8011761]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
Muma
Member

Откуда:
Сообщений: 114
pkarklin
Muma
А вот эта самая sp_addextendedproperty сможет к VIEW в словаре данных добавить поле типа 'text' чтобы там можно было бы забить описание этой вьюшки?


Вы читали статью в BOL? Синтаксис смотрели? Примеры изучили? Причем тут "поле text в словаре данных"?! 8-/


-Читал
-Смотрел
-Изучил

Но не понял - где это может пригодиться

... сделал так


USE MLT
GO
CREATE TABLE TestExProp
  (PriKey      int PRIMARY KEY IDENTITY(1,1),
   USPhoneNmbr      char(13)
        CHECK (USPhoneNmbr LIKE
               '([0-9][0-9][0-9])[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]'
               ),
   USSocialScrty   char(11)
        CHECK (USSocialScrty LIKE
               '[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]'
               )
  )
GO
sp_addextendedproperty 'Caption', 'Caption Test Table',
                       'user', dbo, 'table', TestExProp
GO
sp_addextendedproperty 'Caption', 'Primary Key',
                       'user', dbo, 'table', TestExProp, 'column', PriKey
GO
sp_addextendedproperty 'Input Mask', '(NNN)NNN-NNNN',
                       'user', dbo, 'table', TestExProp, 'column', USPhoneNmbr
GO
sp_addextendedproperty 'Caption', 'US Phone Number',
                       'user', dbo, 'table', TestExProp, 'column', USPhoneNmbr
GO
sp_addextendedproperty 'Input Mask', 'NNN-NN-NNNN',
                       'user', dbo, 'table', TestExProp, 'column', USSocialScrty
GO
sp_addextendedproperty 'Caption', 'US Social Security Number',
                       'user', dbo, 'table', TestExProp, 'column', USSocialScrty
GO


и так (в sp_2.jpeg)

Ну возращает функция дополнительное свойство 'Caption' со значением 'Caption Text Table'

Где это может пригодится?

К сообщению приложен файл. Размер - 0Kb
3 дек 09, 09:06    [8011834]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
Где это может пригодится?


На колу мочало - начинай с начала.

Вы разве не этого хотели:

автор
Note к каждой (что делает)


?!
3 дек 09, 09:11    [8011842]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
Muma
Member

Откуда:
Сообщений: 114
pkarklin
автор
Где это может пригодится?


На колу мочало - начинай с начала.

Вы разве не этого хотели:

автор
Note к каждой (что делает)


?!



Именно это

Но можно узнать откуда FN_LISTEXTENDEDPROPERTY "видирает" эти доп. свойства, из какой системной таблицы ?

Если пользоваться FN_LISTEXTENDEDPROPERTY то нельзя будет использовать SELECT к другим таблицам...
3 дек 09, 09:52    [8011977]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Muma

Если пользоваться FN_LISTEXTENDEDPROPERTY то нельзя будет использовать SELECT к другим таблицам...


Это почему? Вам нужен именно "один SELECT"?!
3 дек 09, 10:15    [8012116]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
ы
Guest
pkarklin
Muma

Если пользоваться FN_LISTEXTENDEDPROPERTY то нельзя будет использовать SELECT к другим таблицам...


Это почему? Вам нужен именно "один SELECT"?!




Нет, ну если организовано все будет так что я создаю свою собственную таблицу в которой забиваю имена необходимых вьюшек (предполагается что не все существующие в проекте требуют описания), SQL - script берем из системной таблицы syscomments


CREATE view v_MD_view_list
AS
SELECT 
so.id, 
so.name, 
so.xtype,    
sc.text  
FROM syscomments sc INNER JOIN sysobjects so ON so.id = sc.id 
WHERE so.xtype = 'V'
 


SELECT 
  t.MD_id
, t.MD_type_id
, t.MD_name
, t.MD_log_target
, t.MD_join_table
, t.MD_note
, t.MD_discrabe
, v.text AS SQL_script
FROM t_MD t 
LEFT OUTER JOIN v_MD_view_list v ON t.MD_name = v.name



И вот если бы note (который может быть создан с помощью сист.процедуры sp_addextendedproperty) можно было бы вытащить из системной таблицы то одним селектом можно было собрать в одноим месте инфу из трех источников - таблицы t_MD , системной таблицы syscomments и той куда обращается функция FN_LISTEXTENDEDPROPERTY.
3 дек 09, 12:33    [8013334]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
Muma
Member

Откуда:
Сообщений: 114
Нет, ну если организовано все будет так что я создаю свою собственную таблицу в которой забиваю имена необходимых вьюшек (предполагается что не все существующие в проекте требуют описания), SQL - script берем из системной таблицы syscomments

CREATE view v_MD_view_list
AS
SELECT 
so.id, 
so.name, 
so.xtype,    
sc.text  
FROM syscomments sc INNER JOIN sysobjects so ON so.id = sc.id 
WHERE so.xtype = 'V'
 


SELECT 
  t.MD_id
, t.MD_type_id
, t.MD_name
, t.MD_log_target
, t.MD_join_table
, t.MD_note
, t.MD_discrabe
, v.text AS SQL_script
FROM t_MD t 
LEFT OUTER JOIN v_MD_view_list v ON t.MD_name = v.name



И вот если бы note (который может быть создан с помощью сист.процедуры sp_addextendedproperty) можно было бы вытащить из системной таблицы то одним селектом можно было собрать в одноим месте инфу из трех источников - таблицы t_MD , системной таблицы syscomments и той куда обращается функция FN_LISTEXTENDEDPROPERTY.
3 дек 09, 12:35    [8013353]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
ы
И вот если бы note (который может быть создан с помощью сист.процедуры sp_addextendedproperty) можно было бы вытащить из системной таблицы то одним селектом можно было собрать в одноим месте инфу из трех источников - таблицы t_MD , системной таблицы syscomments и той куда обращается функция FN_LISTEXTENDEDPROPERTY.
Не понимаю, что мешает использовать в SELECTе табличную функцию fn_listextendedproperty
вместо обращения напрямую к системным таблицам?
3 дек 09, 12:47    [8013476]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
Нет, ну если организовано все будет так что я создаю свою собственную таблицу в которой забиваю имена необходимых вьюшек (предполагается что не все существующие в проекте требуют описания),


Ну так выбирете все вьюящки, получите для каждой описание, и выберите только те, у которых есть описание.

автор
то одним селектом


Idea Fix?!
3 дек 09, 12:49    [8013485]     Ответить | Цитировать Сообщить модератору
 Re: Где в словаре данных хранится текст VIEW?  [new]
Muma
Member

Откуда:
Сообщений: 114
Ладно! закрываем тему

И так сойдет .

Всем спасибо - кто давал дельные советы.
3 дек 09, 13:11    [8013701]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Где в словаре данных хранится текст VIEW?  [new]
l_kator
Member

Откуда: München
Сообщений: 542
Немного реанимирую тему.

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

select * from sys.syscomments

возвращает ничего, ни одной строки.

Вопрос: У меня (моего пользователя) не хватает каких-то прав или есть другое место, где ищут текст запросов?
16 июл 13, 17:37    [14574561]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить