2014-12-15 3 views
1

Мне нужно извлечь имена объектов (имена таблиц, хранимые процедуры, представления и т. Д.) Из SQL-запроса с использованием SQL-сервера. Есть ли какой-либо sql-оператор или ключевое слово или системная хранимая процедура, которая может помочь с этой задачей?Извлечь имена объектов из sql-запроса

ответ

0

Вы должны проверить Tokenizer - это разбивает запрос на отдельные части («ИНЕКЕ», «FUNCTION» и т.д.)

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

1

Вы хотите сказать, что хотите получить список имен объектов в базе данных?

Это было бы select * from sys.objects

+0

У меня есть запрос: «выбери * из туЬаЫх где условия = верно ; выполнить my_storedprocedure 1,2,3 " Я хочу иметь DB_Object | Тип --------------------------- my_table | стол my_storedp .. | хранимая процедура и т. д. –

0

Есть много различных способов решить эту, но каждый из них может быть различным в зависимости от версии сервера SQL вы находитесь.

Один из самых низких уровней, чтобы извлечь эту информацию из вне sysobjects ...

SELECT o.name, 
CASE o.type 
WHEN 'U' THEN 'Table' 
WHEN 'V' THEN 'View' 
WHEN 'P' THEN 'Procedure' 
WHEN 'FN' THEN 'Function' 
ELSE o.Type 
END as Type 
FROM sysobjects o 
WHERE type in ('U', 'V', 'P', 'FN') 
ORDER BY Type 

Это будет работать на любой версии SQL Server.

Надеюсь, что поможет

0

Это даст вам список объектов. Просто похоже на Пола Ответа.

ВЫБРАТЬ имя, type_desc, типа, create_Date, modify_date ИЗ sys.objects ORDER BY type_Desc, типа, имени

Смежные вопросы