This blog post describes SSMA error message when converting Oracle PL/SQL UPDATE statement with column group assignment.
Oracle PL/SQL allows you to perform multi column update through sub-query. Consider the following example:
CREATE TABLE ACCOUNT ( ACCOUNT_ID NUMBER NOT NULL, ACCOUNT_OWNER VARCHAR2(30) NOT NULL );
UPDATE ACCOUNT SET (ACCOUNT_ID, ACCOUNT_OWNER) = (SELECT 1, 2 FROM dual) WHERE ACCOUNT_ID = 10;
SSMA does not support converting UPDATE statement with sub-query and the following conversion error message is issued:
O2SS0293: Columns list in set clause cannot be converted.
The above statement can be converted to T-SQL statement such as the following:
UPDATE acct SET acct.ACCOUNT_ID = updtqry.col1, acct.ACCOUNT_OWNER = updtqry.col2 FROM ACCOUNT acct, (SELECT 1 col1, 2 col2) updtqry WHERE acct.ACCOUNT_ID=10;