The CollInstallMulti macro takes the codes you load into the DBC.CollationsV view and inserts them into the underlying system table as the new default collation sequence.
The :CollationName parameter you submit to the macro must match the CollName value you specified for DBC.CollationsV.
During this process, CollInstallMulti performs the following actions.
- Verifies that the value of :CollationName is not MULTINATIONAL.
- Verifies that :CollationName is found in the CollName column of DBC.CollationTbl.
- Deletes the row where CollName is MULTINATIONAL.
- Inserts (through DBC.CollationsV) a row with the following values:
- The string MULTINATIONAL in CollName
- The letter Y in CollInstall
- The codes for CollEqvClass, CollOrderCS, and CollOrderUC, which are selected from the row you loaded (where CollName should be equal to :CollationName).
The SQL code for CollInstallMulti is as follows:
REPLACE MACRO CollInstallMulti (CollationName CHAR(30)) AS ( ABORT 'Argument cannot be MULTINATIONAL collation' WHERE :CollationName = 'MULTINATIONAL'; ABORT 'Specified collation has not been defined' WHERE :CollationName NOT IN ( SELECT CollName FROM DBC.CollationsV ); DELETE FROM DBC.CollationsV WHERE CollName = 'MULTINATIONAL'; INSERT INTO DBC.CollationsV SELECT 'MULTINATIONAL', 'Y', CollEqvClass, CollOrderCS, CollOrderUC FROM DBC.CollationsV WHERE CollName = :CollationName; );