Oracle
 sql >> база данни >  >> RDS >> Oracle

PL/SQL и SQL скрипт в един sqlFile с liquibase?

„EndDelimiter“ работи перфектно.

Точка и запетая в SQL оператора създава „грешка при невалиден знак“, така че трябва да го премахнете, когато не е разделител. (Да, върши работата си в PL/SQL и SQL*Plus, точно като наклонена черта „/“, повече :Кога трябва да използвам точка и запетая вместо наклонена черта в Oracle SQL? )

Решения:

  • endDelimiter ="/"

    <changeSet id="1" author="me">
    <sql endDelimiter="/">
        BEGIN
            aud.someProcedure('parameter');
        END;
        /
        insert into test_table(_id, value) VALUES(1, 'test')
    </sql>
    </changeSet>
    
  • два раздела

    <changeSet id="1" author="me">
    <sql endDelimiter="/">
        BEGIN
            aud.someProcedure('parameter');
        END;
    </sql>
    <sql>
        insert into test_table(_id, value) VALUES(1, 'test');
    </sql>
    </changeSet>
    
  • или може би;)

    <changeSet id="1" author="me">
    <sql endDelimiter="#Gabor was here#">
        BEGIN
            aud.someProcedure('parameter');
        END;
        #Gabor was here#
        insert into test_table(_id, value) VALUES(1, 'test')
    </sql>
    </changeSet>
    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да синхронизирам и оптимизирам индекс на Oracle Text?

  2. Как да създадете вложена таблица с помощта на потребителски дефиниран тип данни в базата данни на Oracle

  3. Изберете и актуализирайте редове с дата 00/00/0000 00:00:00 00 в Oracle

  4. План за изпълнение на Oracle

  5. Как се изпълнява изчакването на JDBC заявка на Oracle?