Unable to run multi line constraint

Hi,

While running multiple line constraint we facing below error, kindly assist.

 Reason: liquibase.exception.DatabaseException: ORA-01735: invalid ALTER TABLE option

[Failed SQL: (1735) ALTER TABLE “ACLU_CSV_PREMIUM” ADD CONSTRAINT “CKC_V_LASTUPD_PROG” CHECK (V_LASTUPD_PROG IS NOT NULL) ENABLE NOVALIDATE
ALTER TABLE “ACLU_CSV_PREMIUM” ADD CONSTRAINT “CKC_V_LASTUPD_INFTIM” CHECK (V_LASTUPD_INFTIM IS NOT NULL) ENABLE NOVALIDATE
ALTER TABLE “ACLU_CSV_PREMIUM” ADD CONSTRAINT “CKC_V_LASTUPD_USER” CHECK (V_LASTUPD_USER IS NOT NULL) ENABLE NOVALIDATE]

Thanks,
Naren.A

@linuxerpro, which database are you using?

Thanks,
Wesley

Hi Wesley,

We using Oracle 19c database.

Thanks,
Naren

@linuxerpro I also should have asked, what type changelog are you using? Thanks.

Hi @wwillard,

XML Type.

          Changelog:
          
          <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
                             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                             xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
                             http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
          	<includeAll path="SEQUENCES" relativeToChangelogFile="true"/>	
          	<includeAll path="TABLES" relativeToChangelogFile="true"/>	
          	<includeAll path="CONSTRAINTS" relativeToChangelogFile="true"/>	
          </databaseChangeLog>

Please provide the entire contents of the changelog that is getting the error.

hi @daryldoak,

pls find entire changelog below,


<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
                   http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.1.xsd">
	<includeAll path="SEQUENCES" relativeToChangelogFile="true"/>	
	<includeAll path="TABLES" relativeToChangelogFile="true"/>
	<includeAll path="DRG_MODULES" relativeToChangelogFile="true"/>		
	<includeAll path="INDEXES" relativeToChangelogFile="true"/>	
	<includeAll path="CONSTRAINTS" relativeToChangelogFile="true"/>		
	<includeAll path="FUNCTIONS" relativeToChangelogFile="true"/>	
	<includeAll path="MATERIALIZED_VIEWS" relativeToChangelogFile="true"/>	
	<includeAll path="PROCEDURES" relativeToChangelogFile="true"/>		
	<includeAll path="TYPES" relativeToChangelogFile="true"/>
	<includeAll path="PACKAGES" relativeToChangelogFile="true"/>	
	<includeAll path="PACKAGE_BODIES" relativeToChangelogFile="true"/>
	<includeAll path="SYNONYMS" relativeToChangelogFile="true"/>
	<includeAll path="VIEWS" relativeToChangelogFile="true"/>
</databaseChangeLog>

Thanks,
Naren.

That is not the changelog that received the error, it would be one of the files in the CONSTRAINTS folder, I would assume. We need to see that file that actually contains the sql that received the error.

Hi @daryldoak

Understood, Pls find the file below,


--liquibase formatted sql
--changeset ACLU_CSV_PREMIUM:raw
--------------------------------------------------------
--  Constraints for Table ACLU_CSV_PREMIUM
--------------------------------------------------------

  ALTER TABLE "ACLU_CSV_PREMIUM" ADD CONSTRAINT "CKC_V_LASTUPD_PROG" CHECK (V_LASTUPD_PROG IS NOT NULL) ENABLE NOVALIDATE
  ALTER TABLE "ACLU_CSV_PREMIUM" ADD CONSTRAINT "CKC_V_LASTUPD_INFTIM" CHECK (V_LASTUPD_INFTIM IS NOT NULL) ENABLE NOVALIDATE
  ALTER TABLE "ACLU_CSV_PREMIUM" ADD CONSTRAINT "CKC_V_LASTUPD_USER" CHECK (V_LASTUPD_USER IS NOT NULL) ENABLE NOVALIDATE

Thanks,
Naren

ok, thanks. This is as I suspected. You need to end each statement with a semicolon delimiter.


--liquibase formatted sql
--changeset ACLU_CSV_PREMIUM:raw
--------------------------------------------------------
--  Constraints for Table ACLU_CSV_PREMIUM
--------------------------------------------------------

  ALTER TABLE "ACLU_CSV_PREMIUM" ADD CONSTRAINT "CKC_V_LASTUPD_PROG" CHECK (V_LASTUPD_PROG IS NOT NULL) ENABLE NOVALIDATE;
  ALTER TABLE "ACLU_CSV_PREMIUM" ADD CONSTRAINT "CKC_V_LASTUPD_INFTIM" CHECK (V_LASTUPD_INFTIM IS NOT NULL) ENABLE NOVALIDATE;
  ALTER TABLE "ACLU_CSV_PREMIUM" ADD CONSTRAINT "CKC_V_LASTUPD_USER" CHECK (V_LASTUPD_USER IS NOT NULL) ENABLE NOVALIDATE;