|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
Уважаемые коллеги! Помогите немного, если можете. Написал функцию CREATE FUNCTION [dbo].[GetDocId](@item varchar(50)) RETURNS TABLE AS RETURN ( select docid FROM [LIBRARY2].[dbo].[book_01010X] where [itemid] in (SELECT [ItemID] FROM [LIBRARY2].[dbo].[book_01010] where item=@item) ) Она работает select docid from Book__doc where docid in (select docid from libra1.dbo.getdocid ('информатика')) docid ------ 1482 1662 ... Но мне надо, чтобы [BOOK_01010] передавалось параметром (и соответственно, [BOOK_01010X] не знаю, как это сделать?! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 11:53 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
topdon, в функции - никак ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 11:59 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
Shakill, Вот и я забуксовал, не знаю, что и делать. Наверное, попробую путем выбора из возможных вариантов. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 12:04 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
А главное такое не нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 12:50 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
MniorА главное такое не нужно. судя по префиксу _01010Х у таблицы, сильно подозреваю, что имеет место быть случай секционирования а-ля клиппер - имеется энное количество таблиц book c одинакавой структурой: book_01010X, book_01020X, итп. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 12:53 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
topdonВот и я забуксовал, не знаю, что и делать. Создать вьюху, объединяющую все эти таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 12:55 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, Нет, это не клиппер, это библиотека на SQL Server. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 13:11 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
topdonне знаю, что и делать Объединить все однотипные таблицы в одну? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 13:17 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, Вы наверное вот это имели в виду select docid from Book__doc where docid in (select docid FROM [LIBRARY2].[dbo].[book_01010X] where [itemid] in (SELECT [ItemID] FROM [LIBRARY2].[dbo].[book_01010] where item='логистика')) и просто формировать строку. Придется так и делать. Но не хотелось бы загромождать запрос. К нему еще есть что цеплять. Но работает достаточно быстро. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 13:20 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
Гость333, Через UNION с добавлением одного поля с названием таблицы? Таких таблиц около десятка и довольно большие. Все это должно работать через Browser. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 13:23 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
topdonГость333, Через UNION с добавлением одного поля с названием таблицы? Нет, через заливку данных в одну общую таблицу и удаление старых однотипных таблиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 13:36 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
Гость333, Нет, это невозможно, т.к. имеется работающая система, непрерывно использующая все эти таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 13:44 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
topdonНет, это невозможноВсё возможно, особенно имея доступ ко всему. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 17:26 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
Mnior, я имею доступ к основной бд только на чтение, но он мне и не нужен. К сожалению, видимо, это действительно сделать нельзя в функции, а обойти то можно, правда за счет загромождения запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 18:09 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, Да, так оно и есть. Это автоматизированная библиотека. Я правда называю это избыточным индексированием. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 18:12 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
topdonя имею доступ к основной бдИ не нужно. Если вы пишете CREATE FUNCTION, то далее уже не важно. Вы можете просто перекроить интерфейс доступа, и называется такой паттерн - фасад. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 18:34 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
Mnior, Функция создается в другой БД- Libra1. А таблицы- в Library2, это видно из текста. Но я действительно не хотел бы сливать большие таблицы только ради экономии нескольких строк текста. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 22:32 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
topdonНо я действительно не хотел бы сливать большие таблицы только ради экономии нескольких строк текста.Не для экономии нескольких строк, а потому, что это правильная модель данных. Хотя бы чтоб быстрее работало, проще в сопровождении и т.п. А для упрощения запросов используйте вьюху, объединяющую эти таблицы, как вам уже написал pkarklin. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 22:50 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
topdonНо я действительно не хотел бы сливать большие таблицы только ради экономии нескольких строк текста.Множество таблиц одинаковой структуры почти всегда, - ошибка проектирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 22:52 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
invm, Ребята, я готов согласиться с Вами, но поймите- это московская система, работает много лет (правда, осталась без команды разработчиков), текстов у меня нет, при каждой новой книге она пишет в несколько таблиц, что я могу здесь поделать? Мне надо модуль поиска через интернет написать. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2013, 05:35 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
alexeyvg, т.е. через union c добавлением поля с именем таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2013, 05:38 |
|
Выполнение строк в табличной функции
|
|||
---|---|---|---|
#18+
topdonalexeyvg, т.е. через union c добавлением поля с именем таблицы?Ну да, с добавлением поля или нет - зависит от задачи. Только UNION ALL, а не UNION, естественно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2013, 14:27 |
|
|
start [/forum/topic.php?fid=46&gotonew=1&tid=1704272]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
12ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 200ms |
0 / 0 |