powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Выдача списка таблиц по шаблону
9 сообщений из 9, страница 1 из 1
Выдача списка таблиц по шаблону
    #35205492
Евгений_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В БД собирается ежедневная статистика некоторых событий. Имена таблиц включают дату регистрации событий. Мне нужно сделать выборку по определенным критериям из всех таблиц за конкретный месяц. Я формирую в динамическом SQL шаблон имени таблицы в переменной @TabTemplate. Мне нужно получить список всех таблиц БД, имена которых начинаются с этого шаблона. Как пишется соответствующая команда (или группа команд)?
...
Рейтинг: 0 / 0
Выдача списка таблиц по шаблону
    #35205642
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений_22В БД собирается ежедневная статистика некоторых событий. Имена таблиц включают дату регистрации событий. Мне нужно сделать выборку по определенным критериям из всех таблиц за конкретный месяц. Я формирую в динамическом SQL шаблон имени таблицы в переменной @TabTemplate. Мне нужно получить список всех таблиц БД, имена которых начинаются с этого шаблона. Как пишется соответствующая команда (или группа команд)?

Код: plaintext
1.
2.
3.
4.
5.
6.
use master
go
declare @tbl varchar( 20 )
select @tbl='sys%'
select name from sysobjects where type='S' and name like @tbl
go

для пользовательских таблиц type='U'
...
Рейтинг: 0 / 0
Выдача списка таблиц по шаблону
    #35206101
Евгений_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо.
...
Рейтинг: 0 / 0
Выдача списка таблиц по шаблону
    #35210005
Евгений_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Оказывается, я рано обрадовался. Нужно не просто получить список таблиц, а использовать записи из этого списка в запросе. Т.е. сделать выборку записей из всех таблиц, попавших в список. А это как?
...
Рейтинг: 0 / 0
Выдача списка таблиц по шаблону
    #35210050
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений_22Оказывается, я рано обрадовался. Нужно не просто получить список таблиц, а использовать записи из этого списка в запросе. Т.е. сделать выборку записей из всех таблиц, попавших в список. А это как?
а это надо использовать курсор
...
Рейтинг: 0 / 0
Выдача списка таблиц по шаблону
    #35210109
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо, что-то с проектированием не то...
...
Рейтинг: 0 / 0
Выдача списка таблиц по шаблону
    #35211406
Guest01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Автор, Ты хоть тип сервера укажи. Да и версию очень желательно.
Потом будут и советы.
...
Рейтинг: 0 / 0
Выдача списка таблиц по шаблону
    #35211511
Евгений_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сервер ASA 12.5
Советы от comrad очень помогают. Но при попытке использовать курсор для выбора имени таблицы вылезает ошибка.
Я определяю курсор

declare tab_crsr cursor for select name from _tabs for read only

и пытаюсь слить данные, удовлетворяющие некоторому условию, из таблиц, имена которых записаны в _tabs, в одну таблицу _results (она существует и имеет требуемую структуру):

open tab_crsr
while @@sqlstatus=0
begin
fetch tab_crsr into @tabname
select <список полей> into _results1 from @tabname where <условие>
insert into _results select <тот же список полей> from _results1
drop table _results1
end
close tab_crsr

Выдается ошибка "Incorrect syntax near '@tabname' " Ясно, что имя таблицы, заданное переменной, система не воспринимает. Но fetch, а значит, и курсор, должны относиться именно к таблице _tabs. Как это совместить?
...
Рейтинг: 0 / 0
Выдача списка таблиц по шаблону
    #35211780
Mikle83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй выборку обернуть в Execute.
т.е. что-то типа
Declare @SqlStr varchar(1024)
Set @SqlStr = 'Select * from'
Set @SQLStr = @SqlStr + @TabName

execute @SqlStr
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Выдача списка таблиц по шаблону
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]