A synonym can only be used with some commands. See
</code>
http://docs.oracle.com/cd/A81042_01/DOC/server.816/a76989/ch4g8.htm#3702 <code>
For DDL, this is specifically:
AUDIT
NOAUDIT
GRANT
REVOKE
COMMENT
so, truncate does not stand alone:
tkyte@TKYTE816> create procedure p as begin null; end;
2 /
Procedure created.
tkyte@TKYTE816> create synonym p_syn for p;
Synonym created.
tkyte@TKYTE816> alter procedure p compile;
Procedure altered.
tkyte@TKYTE816> alter procedure p_syn compile;
alter procedure p_syn compile
*
ERROR at line 1:
ORA-04043: object P_SYN does not exist
tkyte@TKYTE816> exec p;
PL/SQL procedure successfully completed.
tkyte@TKYTE816> exec p_syn;
PL/SQL procedure successfully completed.
is another example....