在以下情况中,您的陈述中有一个冒号的分号:
WHERe partyId = 100;
将其删除以使其成为:
SELECt * FROM ( SELECt partyId, contacttext, contacttypecd FROM ConTACT WHERe partyId = 100 ) PIVOT ( MAX(contacttext) FOR contacttypecd in (1 Phone, 2 Fax, 3 Mobile, 4 Email)); PARTYID PHONE FAX MOBILE EMAIL ---------- ------------ ------------ ------------ ------------ 100 0354441010 0355551010 0428105789 abc@home.com
它被视为多个语句;第一个是不完整的,因为它缺少右括号(因此得到ORA-00907),第二个从该括号开始并得到了您报告的错误,然后每行都得到相同的错误。您似乎只是在查看上一次报告的错误-
从第一个错误开始,将其清除,然后继续存在下一个错误,通常会更有帮助。



