|
VFP + Oracle
|
|||
---|---|---|---|
#18+
Здравствуйте уважаемые запрос на Oracle выборка головы счета где cSql = "SELECT ... FROM ... WHERE ....." = SQLEXEC(qq, (cSQL) ,"s_n_main1") все работает Далее пытаюсь связать новую выборку из Oracle с курсором FOXa cSql = "select s_n.vist, s_n.zatr, s_n.otp from schema.s_n where s_n.kod_sch in (TRANSFORM(s_n_main1.cKod)) " или cSql = "select s_n.vist, s_n.zatr, s_n.otp from schema.s_n where s_n.kod_sch = (TRANSFORM(s_n_main1.cKod)) " = SQLEXEC(qq, (cSQL) ,"s_n1") где s_n_main1.cKod - код счета в голове счета (кол-во от 10 до 10000 вариант переменной не проходит) s_n.kod_sch - код счета в теле счета Не работает. Возможно у кого-то есть варианты? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2011, 18:38 |
|
VFP + Oracle
|
|||
---|---|---|---|
#18+
pivocSql = "select s_n.vist, s_n.zatr, s_n.otp from schema.s_n where s_n.kod_sch in (TRANSFORM(s_n_main1.cKod))Вот смотрите. Вы послали на сервер запрос, туда приходит именно такой текст, как вы и написали: Код: plaintext
Пробуйте так Код: plaintext 1.
Код: plaintext
Но оба этих варианта подставляют, естественно, только одно значение кода из текущей записи курсора s_n_main1. Если вам нужен джойн таблицы на сервере со своим фоксовым курсором, это уже совсем другая задача. Тогда пишите, что вам надо, а не только свои варианты решения. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2011, 19:36 |
|
VFP + Oracle
|
|||
---|---|---|---|
#18+
Спасибо за участие. Нужен именно вариант решения данной задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2011, 09:43 |
|
VFP + Oracle
|
|||
---|---|---|---|
#18+
pivo, SQL язык сервера СУБД Oracle не имеет функции TRANSFORM вот так будет работать: Код: plaintext 1.
или даже так: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2011, 11:17 |
|
VFP + Oracle
|
|||
---|---|---|---|
#18+
Спасибо Но это одна запись, а хотелось бы получить все записи ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2011, 11:34 |
|
VFP + Oracle
|
|||
---|---|---|---|
#18+
pivo, если значений пара десятков: Код: plaintext 1. 2. 3. 4. 5.
если больше двух десятков и меньше 1000, можно так: Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2011, 14:49 |
|
VFP + Oracle
|
|||
---|---|---|---|
#18+
1270.0.1 какой длинны может быть ( " + cCode + " )" или другими словами сколько параметров может быть в IN (.................) selecta ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2011, 16:35 |
|
VFP + Oracle
|
|||
---|---|---|---|
#18+
pivo1270.0.1 какой длинны может быть ( " + cCode + " )" или другими словами сколько параметров может быть в IN (.................) selecta SQLEXEC() имеет ограничение на размер запроса в символах, в запросе к MS-SQL можно за раз примерно 4000 символов передать. Не скажу чье это ограничение - фокса или драйвера MS-SQL, если второе то у драйвера оракла может быть другое ограничение. Если у тебя большой список планируется, то лучше проверь как отработает максимально длинный запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2011, 16:48 |
|
VFP + Oracle
|
|||
---|---|---|---|
#18+
pivoэто одна запись, а хотелось бы получить все записиТо есть вам надо сджойнить ваш курсор с таблицей на оракловом сервере? Это либо через ИН, как написали выше, либо делать временную таблицу на сервере, лить туда что надо из вашего курсора, потом джойн этой таблицы с нужной. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2011, 20:52 |
|
VFP + Oracle
|
|||
---|---|---|---|
#18+
pivo1270.0.1 какой длины может быть ( " + cCode + " )" или другими словами сколько параметров может быть в IN (.................) selecta размер переменной в vfoxpro ограничен размером оперативной памяти win32-приложения, т.е. наскочить на это ограничение можно только специально, в порядке тестирования, кстати .net отваливается при тестировании много раньше и по другим причинам... а вот количество параметров в SQL ORACLE -- IN (.....) ограничено соображениями производительности и вашим здравым смыслом, т.е. ни чем не ограничено... (если вы физически крепче DBA ORACLE) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2011, 23:41 |
|
|
start [/forum/topic.php?fid=41&fpage=68&tid=1584089]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 138ms |
0 / 0 |