如何在oracle中使用其同义词截断任何表?

tou*_*dra 5 sql oracle truncate synonym

如何在oracle中使用其同义词截断任何表?

-- in Server_A
Create Table table_a ( col int);

-- in server_B
CREATE SYNONYM syn_table_a FOR table_a@dblink_server_a;

--insert into
INSERT INTO syn_table_a values (1);

--Truncate
How to truncate table using synonym only?.
Run Code Online (Sandbox Code Playgroud)

Lal*_*r B 3

截断语句不能用于同义词。

同义词不能在删除表、删除视图或截断表/集群语句中使用。如果尝试这样做,则会导致 ORA-00942:表或视图不存在

例如,

SQL> CREATE TABLE t(col NUMBER);

Table created.

SQL>
SQL> CREATE SYNONYM t_syn FOR t;

Synonym created.

SQL>
SQL> TRUNCATE TABLE t_syn;
TRUNCATE TABLE t_syn
               *
ERROR at line 1:
ORA-00942: table or view does not exist


SQL>
Run Code Online (Sandbox Code Playgroud)