|
|
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Хранимые процедуры, помогите пожалуйста: есть таблица TABL, у неё 3 поля: perv - integer, vtor - integer, sum - varchar. Код CREATE OR ALTER procedure QA ( VTOR integer, PERV integer) returns ( SUM varchar) as begin if (perv < vtor) then sum = "не оплачено" else sum=" оплачено; end Помогите пожалуйста, алгоритм примерный написал, надо чтобы в поле sum выводилась надпись "оплачено", "не оплачено". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2014, 20:54 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Faster73надо чтобы в поле sum выводилась надпись "оплачено", "не оплачено". Хранимая процедура не нужна для этого. Оператора CASE вполне достаточно. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2014, 21:23 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Студентов прорвало,чувствуется приближение сессии :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2014, 21:25 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
так как правильно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2014, 21:38 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Faster73, For select или case... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2014, 21:53 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
можно посмотреть пример ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2014, 22:05 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Faster73, что то типа Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2014, 22:17 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Gallemar, ругается на код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2014, 22:31 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Faster73можно посмотреть пример А ты сможешь посмотреть пример? Это ведь надо файл doc/sql.extension/README.case.txt открывать, а потом ещё читать многа букафф... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2014, 22:32 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovчитать многа букафф... Не издевайся над людьми. Вот тут http://www.firebirdsql.org/file/documentation/reference_manuals/Firebird-Language-Reference-Russian.pdf буквы более знакомые, страница 198,примеров полно. Правда если ты отдельный столбец выбираешь для sum - проще сделать триггер на after insert or update. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2014, 22:43 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Gallemar, Зачем триггер-то? Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 01:43 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
DarkMaster,можно триггер,можно процедуру,можно вьюшку,можно вычисляемый столбец сделать. Стоит задача - надо чтобы в поле sum выводилась надпись "оплачено", "не оплачено", любой способ подходит. Задача явно абстрактная из учебника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 01:56 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Gallemar, Дык уже привели по меньшей мере 3 решения.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 02:10 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
DarkMasterДык уже привели по меньшей мере 3 решения....про suspend ещё ничего не сказали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 08:41 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
roadster, И даже текст хранимки не привели, редиски ;( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 10:47 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
DarkMasterИ даже текст хранимки не привели, редиски ;(да пожалуйста Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 15:08 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Hello, Roadster! You wrote on 9 декабря 2014 г. 15:09:18: Roadster> да пожалуйста > > NULL; не оракул Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 15:10 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийне оракулнет fb под рукой, а самому писать целиком процедуру просто лень. смысл я вроде передал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 15:36 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
процедуру написал: CREATE OR ALTER procedure PROC ( VTOR integer, PERV integer) returns ( sum varchar(40)) as BEGIN IF (VTOR > PERV) THEN sum = 'оплачено'; ELSE sum = 'не оплачено'; suspend; END как её вызывать? и менять в поле sum таблицы TABL, помогите подалуууйййсста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 17:10 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Faster73процедуру написал: CREATE OR ALTER procedure PROC ( То, что ты написал - это что-то ... странное в общем. Faster73как её вызывать? и менять в поле sum таблицы TABL, помогите подалуууйййсста 1) Вызывать SELECT ... FROM PROCEDURE_NAME(...parameters...) А за SUM как имя выходного параметра отдельное спасибо. 2) UPDATE TABL SET ASUM=:NEWSUM WHERE .... <--- еще одно спасибо за таблицу без PK. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 17:20 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Никаких процедур,только триггер,только хардкор!!! Тынц: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. Просьба сторожилов в меня не кидать помидорами!!! Студент,у тебя нет условия как быть если perv=vtor, поэтому я его не реализовал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 19:42 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
perv не может быть равен vtor. Точно так же, как оба не могут быть равны tret и chetvert. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 19:44 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Gallemar, боюсь за твои художества его отчислят ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 19:47 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам,ну я бы учел эту возможность как человеческий фактор и эксепшен повесил,с гневной надписью. Препод был бы рад старательности чада. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 19:48 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Gallemar> Препод был бы рад старательности чада. А, ну если из таких целей, то можно такого нагородить... А эксепшен в виде презерватива на свечку в лабораторке это моветон, ИМХО. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 19:50 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамА, ну если из таких целей, то можно такого нагородить... Если ТС попросит - нагорожу,лишь бы потом сам понял что к чему Гаджимурадов РустамА эксепшен в виде презерватива на свечку в лабораторке это моветон, ИМХО. Не спорю,на вкус и цвет все фломастеры разные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 19:55 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Gallemar, в этой строке CREATE OR ALTER trigger tabl_aiu0 for tabl tabl_aiu0 это триггер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 20:29 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Faster73, CREATE OR ALTER trigger тут написано "кочерга", "trigger", или "procedure" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 20:43 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Сейчас ТС скопирует творение и пойдет по кругу - процедуры нетути, зато есть триггер. Давайте ему еще вьюху с триггерами влепим для полного счастья?-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 21:31 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Ты погоди, наподсказываешь щас на ночь глядя. А потом придут полные извращенцы и напихают в эти триггеры ES с EDS-ами. И будут объяснять чрезмерным старанием и шаганием в ногу со временем и технологиями. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 21:46 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, ага если тройке. В триггере вызвать процедуру пакета, в которой объявлена локальная детерминистическая подфункция, вызывающая EDS в автономной транзакции. В EDS объявлен EXECUTE BLOCK со скроллируемым курсором по вьюхе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 21:56 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамТы погоди, наподсказываешь щас на ночь глядя. А потом придут полные извращенцы и напихают в эти триггеры ES с EDS-ами. И будут объяснять чрезмерным старанием и шаганием в ногу со временем и технологиями. Честно говоря прочитав написанное вопрошающим, захотелось написать ему пример с несколькими ascii_char() и проверкой на дату на +10 к примеру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 23:48 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
... p.s. почему-то вспомнилась ситуация в универе, когда преподавательница долго не верила в то что её решебник с ощибкой, - "т.к. ей 3 курса уже сдало этот типовой расчёт и у всех сошлись ответы" :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2014, 23:50 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Faster73Gallemar, в этой строке CREATE OR ALTER trigger tabl_aiu0 for tabl tabl_aiu0 это триггер? По моему всё таки стоит почитать учебник... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 02:52 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисGallemar, боюсь за твои художества его отчислят Почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 04:39 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Не хочешь триггер - вот тебе другой вариант: тынц: таблица CREATE GENERATOR GEN_TABL_ID; CREATE TABLE TABL ( ID INTEGER NOT NULL, PERV INTEGER, VTOR INTEGER ); вьюха CREATE OR ALTER VIEW SUM_VIEW( PERV, VTOR, COL_SUM) AS select PERV, VTOR, case when PERV < VTOR then 'не оплачено' else 'оплачено' end from TABL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 05:25 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Gallemar, понравился вариант с триггером: CREATE OR ALTER trigger tabl_aiu0 for tabl active after insert or update position 0 as begin if (new.PERV > new.VTOR) then update TABL set col_SUM = 'оплачено' where col_SUM is NULL; else update TABL set col_sum = 'не оплачено' where col_SUM is NULL; end Поле sum меняется на "оплачено", "оплачено" только тогда когда оно пустое (т.е. is NULL). При переименовывание поля PERV и VTOR поле SUM сохраняет старое значение. Скажи пожалуйста как эту ошибку . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 13:46 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Faster73, там UPDATE не нужен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 13:56 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Faster73, а может вам всё таки стоит прочитать про триггеры? А потом подумать своей головой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 14:24 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Faster73, Вот здесь про триггеры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 14:57 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
m7m,да уже тыкал носом. Ему читать надо,а он по форумам шарится в надежде на халяву. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 14:58 |
|
||
|
Хранимые процедуры
|
|||
|---|---|---|---|
|
#18+
Faster73Gallemar, понравился вариант с триггером: CREATE OR ALTER trigger tabl_aiu0 for tabl active after insert or update position 0 as begin if (new.PERV > new.VTOR) then update TABL set col_SUM = 'оплачено' where col_SUM is NULL; else update TABL set col_sum = 'не оплачено' where col_SUM is NULL; end Поле sum меняется на "оплачено", "оплачено" только тогда когда оно пустое (т.е. is NULL). При переименовывание поля PERV и VTOR поле SUM сохраняет старое значение. Скажи пожалуйста как эту ошибку . Триггер поправь Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. В первом варианте триггер мягко сказать корявый получился (спасибо SD за помощь, надо в отпуск сходить, позор моей седой голове ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 15:58 |
|
||
|
|

start [/forum/topic.php?all=1&fid=40&tid=1563144]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
167ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 497ms |

| 0 / 0 |
