PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL कस्टम अपवाद?

नहीं, ऐसे नहीं। लेकिन आप अपने स्वयं के अपवादों को बढ़ा सकते हैं और बनाए रख सकते हैं, कोई बात नहीं:

CREATE TABLE exceptions(
    id serial primary key,
    MESSAGE text, 
    DETAIL text, 
    HINT text, 
    ERRCODE text
);

INSERT INTO exceptions (message, detail, hint, errcode) VALUES ('wrong', 'really wrong!', 'fix this problem', 'P0000');

CREATE OR REPLACE FUNCTION foo() RETURNS int LANGUAGE plpgsql AS
$$
DECLARE
    row record;
BEGIN
    PERFORM * FROM fox; -- does not exist, undefined_table, fail

    EXCEPTION
        WHEN undefined_table THEN
            SELECT * INTO row FROM exceptions WHERE id = 1; -- get your exception
            RAISE EXCEPTION USING MESSAGE = row.message, DETAIL = row.detail, HINT = row.hint, ERRCODE = row.errcode;

    RETURN 1;
END;
$$

SELECT foo();

बेशक आप उन्हें अपनी प्रक्रियाओं में हार्डकोड भी कर सकते हैं, यह आप पर निर्भर है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेज के रूप में लॉग इन किया गया लेकिन त्रुटि निर्माता प्राप्त करना:नई भूमिका का निर्माण विफल:त्रुटि:सुपरयूसर बनाने के लिए सुपरयुसर होना चाहिए

  2. Postgresql में TRUE/FALSE चिह्नों के साथ पिवट करें

  3. फ़ॉलबैक भाषा के साथ i18n डेटा पुनर्प्राप्त करना

  4. Windows पर GeoDjango:GDAL लाइब्रेरी / OSError नहीं ढूँढ सका:[WinError 126] निर्दिष्ट मॉड्यूल नहीं मिला

  5. मुझे समझ में नहीं आता कि postgresql का अगला () कैसे काम करता है, क्या कोई समझा सकता है?