/* Synonym
# All database objects have each unique names.
Synonym is a database object and express the specified object.
# <Public synonym and Private synonym>
- All users can refer to public synonym.
- Specific users can refer to private synonym.
- User granted DBA can create public synonym.
- default format of creating synonym is private.
*/
/* CREATE Private Synonym */
CREATE OR REPLACE SYNONYM syn_channel
FOR channels;
-- From now on, users can use 'syn_channel' to select the table 'channels'.
SELECT COUNT(*)
FROM syn_channel;
select username from all_users;
/* CREATE Public Synonym */
CREATE OR REPLACE PUBLIC SYNONYM syn_channel_2
FOR channels;
GRANT SELECT ON syn_channel_2 TO PUBLIC; -- Grant the public synonym is available to be used for SELECT
SELECT COUNT(*)
FROM syn_channel_2;
/* DROP Synonym */
DROP SYNONYM syn_channel;
DROP PUBLIC SYNONYM syn_channel_2; -- Public synonym can be dropped with PUBLIC keyword