Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
Как ввыполнить запрсо вида Select a From b Where c in (...а тут около 2000 значений). выдает ошибку "restricted data type attribute violation" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2007, 16:05 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
загнать 2000 значение в таблицу where c in (select values from temporary_table) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2007, 16:08 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
есть возможность только чтения. Сколько значений можно проверять, может кто-то знает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2007, 16:15 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
Vetic пишет: > Как ввыполнить запрсо вида > Select a > From b > Where c in (...а тут около 2000 значений). Можно и прямо вот в таком виде. 2000 это немного, он справится. Кстати не худо было бы выяснить, кто этот "он", о какой СУБД вообще речь. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2007, 17:15 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
MasterZiv Можно и прямо вот в таком виде. 2000 это немного, он справится. Кстати не худо было бы выяснить, кто этот "он", о какой СУБД вообще речь. Posted via ActualForum NNTP Server 1.4 СУБД Sybase ASE v.15 Если вставляю в условие in все эти значения то выдает ошибку "restricted data type attribute violation" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2007, 17:21 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
Veticесть возможность только чтения. Сколько значений можно проверять, может кто-то знает? и даже в tempdb только для чтения? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2007, 19:13 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
Vetic пишет: > СУБД Sybase ASE v.15 > > Если вставляю в условие in все эти значения то выдает ошибку "restricted > data type attribute violation" Приведите полностью запрос и сообщение об ошибке. По идее не должно быть такого. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2007, 20:26 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
самый рациональный вариант: Рыжий Котзагнать 2000 значение в таблицу where c in (select values from temporary_table) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2007, 22:08 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
хотя, я считаю правильным испольнять такие запросы через <join> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2007, 22:09 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
2000 значений поместить в #TempTable column <a>; далее: Select b.a From b join #TempTable on b.a = #TempTable.a ведь, в полне возможно, что 'завтра' это будет не 2 000 записей - а 200 000... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2007, 22:15 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
Rubber2000 значений поместить в #TempTable column <a>; далее: Код: plaintext 1. 2. 3. а как мне эти значения загрузить во временную таблицу? все значения сохранены в текстовом файле, може можно както загрузить из файла? Плюс, интересует еще как загрузить данные если поле не одно а два (в смысле сохранить соответствие)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 10:38 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
1) Создавать в tempdb Промежуточную таблицу TempTable, а не #TempTable 2) bcp tempdb..TempTable in data.txt -S<server_name> -Usa -P<password> -J iso_1 -c Параметры bcp.exe в BOL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 11:20 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
SAV4SAV1) Создавать в tempdb Промежуточную таблицу TempTable, а не #TempTable 2) bcp tempdb..TempTable in data.txt -S<server_name> -Usa -P<password> -J iso_1 -c Параметры bcp.exe в BOL База открыта только на чтение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 11:25 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
Rubber2000 значений поместить в #TempTable column <a>; далее: Select b.a From b join #TempTable on b.a = #TempTable.a ведь, в полне возможно, что 'завтра' это будет не 2 000 записей - а 200 000... Может это можно выполнить через LOAD TABLE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 11:30 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
Vetic SAV4SAV1) Создавать в tempdb Промежуточную таблицу TempTable, а не #TempTable 2) bcp tempdb..TempTable in data.txt -S<server_name> -Usa -P<password> -J iso_1 -c Параметры bcp.exe в BOL База открыта только на чтение - Что, и tempdb тоже только чтение ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 11:41 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
SAV4SAV - Что, и tempdb тоже только чтение ? А сколько будет хранится TempTable? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 12:16 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
Vetic SAV4SAV - Что, и tempdb тоже только чтение ? А сколько будет хранится TempTable? #TempTable - пока существует сессия, в которой создана #TempTable (или пока не drop table ...) tempdb..TempTable - пока не drop table ..., или пока не перезагрузите ASE. Видимо следует пояснить - 1) create table #Table(...,...) - будет создана Временная таблица в tempdb. Доступна только из текущей сессии. Автоматически удалится с концом сессии, если не будет явно удалена. 2) create table tempdb..Table(...,...) - будет созданна "постоянная" таблица в tempdb, доступна в соответствии с правами на неё Для загрузки данных из файла посредством bcp - вариант 2). По стечении надобности в таблице выполнить drop table tempdb..Table. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 12:45 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
а возможно ли работать с "BCP" из "interactive SQL" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 13:04 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
BCP - консольная утилита. А в "интерактивном sql" скорее нет, чем да (можно попробовать выполнять bcp через xp_cmdshell). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 13:16 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
Получается : - через тот же iSQL создаю в tempdb промежуточную таблицу TempTable - через bcp загружаю в нее данные - через тот же iSQL делаю необходимую мне выборку - через iSQL удаляю временную таблицу Правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 13:23 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
VeticПолучается : - через тот же iSQL создаю в tempdb промежуточную таблицу TempTable - через bcp загружаю в нее данные - через тот же iSQL делаю необходимую мне выборку - через iSQL удаляю временную таблицу Правильно? Да. И все это можно оформить в виде командных файлов и файлов, содержащих sql скрипты. К примеру - cr_tab.cmd (для Windows)- содержащий isql -U%1 -P%2 -S%3 -i cr_tab.sql -o cr_tab.log cr_tab.sql - содержащий use tempdb go create table TempTable(...) go Выполняем cr_tab.cmd sa password workserver - получаем в tempdb табличку, и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 13:43 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
Vetic пишет: > База открыта только на чтение tempdb не может быть не открыта на запись. О чем тебе и толкуют. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 14:03 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
> BCP - консольная утилита. А в "интерактивном sql" скорее нет, чем да > (можно попробовать > выполнять bcp через xp_cmdshell). Слушайте, давайте не городить огород, да ? Есть запрос с IN(...), он ДОЛЖЕН работать. Надо разобраться просто почему он не работает. Если человек не знает что такое tempdb, очень запросто может быть, что у него там просто тупая описка в запросе и все. Если уж так нужно НЕ ИСПОЛЬЗОВАТЬ IN (...) (хотя причин нет), а использовать временную таблицу для фильтра, можно вставить туда записи и простым INSERT, даже 20000 не такой уж большой объем. А рекомендовать для решения такой простой задачи BCP, да еще и запускать ее на сервере - это уже как-то черезчур. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 14:08 |
|
||
|
как выполнить запрос?
|
|||
|---|---|---|---|
|
#18+
Vetic пишет: > Правильно? Неправильно. - создаеш в tempdb таблицу #TempTable - вставляешь в нее нужные ID-ы - делаешь выборку - удаляешь временную таблицу (не обязательно, если сразу после этого сделаешь disconnect). Все в одном простом клиентском соединении. ( напр. в ISQL ). Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 14:11 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=34796046&tid=2011929]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 367ms |

| 0 / 0 |
