Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Что выбрать?   Alexander Gotlib   31 Mar 2003 16:21:33 
 Что выбрать?   Constantin Svintsoff   31 Mar 2003 19:29:04 
 Re: Что выбрать?   Alexander Gotlib   31 Mar 2003 22:54:30 
Архивное /su.dbms/1464643700911.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional