sql >> Database >  >> RDS >> Oracle

PL/SQL en SQL-script in één sqlFile met liquibase?

De "endDelimiter" werkt perfect.

Puntkomma in SQL-instructie produceert "ongeldige tekenfout", dus u moet deze verwijderen als het geen scheidingsteken is. (Ja, het doet zijn werk in PL/SQL en SQL*Plus, net als een schuine streep "/", meer :Wanneer moet ik een puntkomma versus een schuine streep gebruiken in Oracle SQL? )

Oplossingen:

  • endDelimiter ="/"

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

    <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>
    
  • of misschien;)

    <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. MySQL toont telling van 0 voor datums zonder records

  2. Groot data.frame opslaan in PostgreSQL met R

  3. Hoe moet ik omgaan met gerangschikte x van y-gegevens in PostgreSQL?

  4. JDBC MySQL-verbinding met Unix Socket