|
su.dbms- SU.DBMS ---------------------------------------------------------------------- From : Alexander Gotlib 2:5080/1003 31 Mar 2003 16:21:33 To : Alexander Gotlib Subject : Что выбрать? -------------------------------------------------------------------------------- Hail there All! Просветите по поводу следующих СУБД, пожалуйста - MySQL, pgSQL, Interbase/Firebird (необходима реализация под FreeBSD). 1. MySQL не подходит тем, что не знает про хранимые процедуры. Это я не там смотрел или с этим и в самом деле в морг? 2. pgSQL очень даже умеет, но при написании этих самых хранимых процедур напоролся на неприятности с обработкой ошибок. Долго копался в документации и к сожалению так и не понял какой механизм предлагается для обработки ошибок в хранимых процедурах при жизни с постгресом. Про EXEPTION он, к сожалению, не знает (или я все же что-то пропустил?). Единственное, что нашел это GET DIAGNOSTICS: 19.5.5. Obtaining result status There are several ways to determine the effect of a command. The first method is to use the GET DIAGNOSTICS, which has the form: GET DIAGNOSTICS variable = item [ , ... ] ; This command allows retrieval of system status indicators. Each item is keyword identifying a state value to be assigned to the specified variable (which should be of the right data type to receive it). The currently available status items are ROW_COUNT, the number of rows processed by the last SQL query sent down to the SQL engine; and RESULT_OID, the OID of the last row inserted by the most recent SQL query. Note that RESULT_OID is only useful after an INSERT query. Это, конечно, хорошо, но хотелось бы большего. Хотелось бы иметь возможность определить _причину_ ошибки после каждой "неудачной" операции, а не просто факт ошибки. Hапример творим банальный INSERT с нарушением целостности уникального ключа. Постгрес на нас ругается, но ругается просто текстовым сообщением об ошибке. Что с ним дальше делать не совсем понятно. Хотелось бы иметь возможность его обработать и вернуть в PHP соответствующий еррор-код, чтобы можно было сгенерить корректное сообщение для пользователя. Как живут с постгресом в этом плане (писать процедуры планирую на PL/pgSQL)? 3. Что скажете про Interbase/Firebird в сравнении с pgSQL? Умеет ли он то, что меня интересует? P.S.: Oracle, DB2, MSSQL не предлагайте. Комерческие СУБД использовать не имею возможности. :-( -- WBR, Alexander B. Gotlib, mailto:alex@cca.usart.ru / ICQ# 13043204. -|- -|- --- ifmail v.2.15dev5 * Origin: CIA USURT (2:5080/1003@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms/1464643700911.html, оценка из 5, голосов 10
|