|
Выборка отризательных значений(срабатывает не всегда)
|
|||
---|---|---|---|
#18+
Привет всем! Делаю вот такую вот выборку SQLEXEC(test, "CREATE PROCEDURE #MyProc100 " + ; "@inpar bigint " + ; "AS select idmater, vpar, idzap, data from prmater1 WHERE prmater1.idceh=@inpar and prmater1.vpar < 0 " ) SQLEXEC(test, "exec #myProc100 ?ing ","minus1" ) по условию в курсор minus1 должны выбраться только те записи в которых значение vpar отрицательное т.е меньше нуля, но фигушки у меня выбираются все. Пример таблицы: idprmater data idmater vpar 1 01.02.2012 89 1000.0000 2 03.02.2012 84 800.0000 3 03.02.2012 80 1200.0000 4 04.02.2012 85 -200.0000 idprmater--- это ID записи (bigint) data--- сообственно дата (datetime) idmater--- ID материала (bigint) vpar---объем материала (decimal 18.4) А должно по идее только idprmater data idmater vpar 4 04.02.2012 85 -200.0000 Помогайте, я понять не могу почему, просто это иногда срабатывает так как надо, а иногда нет. Среда разработки: VFP 9.0 + MS SQL Server 2005/ Заранее спасибо) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 07:38 |
|
Выборка отризательных значений(срабатывает не всегда)
|
|||
---|---|---|---|
#18+
Mihail3Привет всем! Делаю вот такую вот выборку SQLEXEC(test, "CREATE PROCEDURE #MyProc100 " + ; "@inpar bigint " + ; "AS select idmater, vpar, idzap, data from prmater1 WHERE prmater1.idceh=@inpar and prmater1.vpar < 0 " ) SQLEXEC(test, "exec #myProc100 ?ing ","minus1" ) по условию в курсор minus1 должны выбраться только те записи в которых значение vpar отрицательное т.е меньше нуля, но фигушки у меня выбираются все. Пример таблицы: idprmater data idmater vpar 1 01.02.2012 89 1000.0000 2 03.02.2012 84 800.0000 3 03.02.2012 80 1200.0000 4 04.02.2012 85 -200.0000 idprmater--- это ID записи (bigint) data--- сообственно дата (datetime) idmater--- ID материала (bigint) vpar---объем материала (decimal 18.4) А должно по идее только idprmater data idmater vpar 4 04.02.2012 85 -200.0000 Помогайте, я понять не могу почему, просто это иногда срабатывает так как надо, а иногда нет. Среда разработки: VFP 9.0 + MS SQL Server 2005/ Заранее спасибо)Зачем здесь создание процедуры? Иногда - это когда? Что дает Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 10:36 |
|
Выборка отризательных значений(срабатывает не всегда)
|
|||
---|---|---|---|
#18+
Зачем здесь создание процедуры? Иногда - это когда? Что дает Код: sql 1.
[/quot] Спасибо большое дает то что надо) Просто я по своей же глупости и незнанию всегда делал через процедуру. Если не трудно объясните в чем отличие, в том что в процедуру нужно пихать несколько запросов, а если он один то достаточно и просто через SQLEXEC??? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 11:58 |
|
Выборка отризательных значений(срабатывает не всегда)
|
|||
---|---|---|---|
#18+
Mihail3Если не трудно объясните в чем отличие, в том что в процедуру нужно пихать несколько запросов, а если он один то достаточно и просто через SQLEXEC??? Нет. В SQLExec() также можно пихать несколько запросов. Процедура - это процедура и есть. Т.е. это создание непосредственно в базе данных на сервере некоего постоянного объекта. Ну, как создать файл PRG в FoxPro. Естесственно, делать это "на лету", в процессе работы приложения, крайне НЕ рекомендуется. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 15:56 |
|
Выборка отризательных значений(срабатывает не всегда)
|
|||
---|---|---|---|
#18+
ВладимирМ, А можно пример, как в SQLExec() запихать несколько запросов? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 17:21 |
|
Выборка отризательных значений(срабатывает не всегда)
|
|||
---|---|---|---|
#18+
.... вдогонку... И есть ли в этом смысл? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 17:22 |
|
Выборка отризательных значений(срабатывает не всегда)
|
|||
---|---|---|---|
#18+
Для MS SQL команды разделяются либо точкой с запятой, либо просто переводом строки. Соответственно, написать можно так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Как правило, смысл появляется, если перед выполнением собственно запроса Select-SQL на сервере надо сделать нукую предварительную обработку. Ну, например, создать и заполнить временную таблицу, как в данном случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 17:48 |
|
Выборка отризательных значений(срабатывает не всегда)
|
|||
---|---|---|---|
#18+
ВладимирМ, Благодарю, все понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 20:29 |
|
Выборка отризательных значений(срабатывает не всегда)
|
|||
---|---|---|---|
#18+
ВладимирМПроцедура - это процедура и есть. Т.е. это создание непосредственно в базе данных на сервере некоего постоянного объекта. Ну, как создать файл PRG в FoxPro. Естесственно, делать это "на лету", в процессе работы приложения, крайне НЕ рекомендуется. Спасибо за разъяснение) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2012, 08:16 |
|
|
start [/forum/topic.php?fid=41&msg=38065101&tid=1583285]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
55ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 271ms |
total: | 430ms |
0 / 0 |