What is the difference between SYNONYM and ALIAS?
Answers were Sorted based on User's Feedback
Answer / venu
A table or view can be referred to in an SQL statement by
its name, by an alias that has been defined for its name, or
by a synonym that has been defined for its name. Thus,
aliases and synonyms can be thought of as alternate names
for tables and views.
An alias can be defined at a local server and can refer to a
table or view that is at the current server or a remote
server. The alias name can be used wherever the table name
or view name can be used to refer to the table or view in an
SQL statement
The differences between aliases and synonyms are as follows:
* SYSADM or SYSCTRL authority or the CREATE ALIAS
privilege is required to define an alias. No authorization
is required to define a synonym.
* An alias can be defined on the name of a table or
view, including tables and views that are not at the current
server. A synonym can only be defined on the name of a table
or view at the current server.
* An alias can be defined on an undefined name. A
synonym can only be defined on the name of an existing table
or view.
* Dropping a table or view has no effect on its aliases.
But dropping a table or view does drop its synonyms.
* An alias is a qualified name that can be used by any
authorization ID. A synonym is an unqualified name that can
only be used by the authorization ID that created it.
* An alias defined at one DB2 subsystem can be used at
another DB2 subsystem. A synonym can only be used at the DB2
subsystem where it is defined.
* When an alias is used, an error occurs if the name
that it designates is undefined or is the name of an alias
at the current server. (The alias can represent another
alias at a different server, which can represent yet another
alias at yet another server as long as eventually a
referenced alias represents a table or view.) When a synonym
is used, this error cannot occur.
| Is This Answer Correct ? | 15 Yes | 2 No |
Answer / asr
SYNONYM - 1)It is a private object.
2)Only user who created it,can access it.
3)When the base table is dropped,automatically
sunonym wll drop.
4)SYSADM authority is not needed to create synonym
ALIAS - 1)It is a global object.
2)Any user can access it.
3)When the base table is dropped,automatically
sunonym wll not drop.
4)SYSADM authority is needed to create synonym
| Is This Answer Correct ? | 18 Yes | 7 No |
Answer / s
SYNONYM and ALIAS are alternate names to a table. A SYNONYM
is dropped when the table is dropped whereas an alias is
not dropped if the table it is defined on is not dropped.
| Is This Answer Correct ? | 26 Yes | 17 No |
Answer / kp
Synonym is private to the user who has defined the Synonym
and also the synonym cannnot refer to a remote table
| Is This Answer Correct ? | 13 Yes | 4 No |
Answer / ss
YNONYM and ALIAS are alternate names to a table. A SYNONYM
is dropped when the table is dropped whereas an alias is
not dropped if the table it is defined is dropped.
| Is This Answer Correct ? | 6 Yes | 1 No |
Answer / nandivardhanreddy.n
when the table is dropped automatically synonym is dropped
and it is a private variable.
when the table is dropped alias is not dropped because it
is invalid and it is global variable.
synonym can accesed by the user who creates it
| Is This Answer Correct ? | 6 Yes | 1 No |
Suppose we have a query for update update table1 set col1 = 'val1' where col2=(select .... from ...) suppose the subquery does not return any record, what will happen to update?
List down the data types in the db2 database.
What is the function of logging in the db2 database?
How to run db2 command in windows?
Bind concepts in DB2 cobol
10 Answers IBM, TCS, TRD, Virtusa,
Cursors can be declared in both working-storage & procedure division, Agreed. But is there any difference? If could you please suggest what is the difference. TIA
Outputs of explain are with matchcols = 0. What does this signify?
what is rebinding ?
How does the processing of a correlated subquery differ from a non correlated subquery?
List out the three types of page locks that can be held.
I HAVE 2 TABLES ONE IS EMP_TABLE AND ANOTHER DEPT_TABLE.EMP_TABLE CONTAINS NAME,DEPTNO,DEPTNAME,LOCATION AND DEPT_TABLE CONTAINS DEPTNO,DOJ(DATE OF JOINING).I WANT TO DISPLAY NAME,DEPTNAME,DOJ AND WHO ARE JOINED BETWEN 01- JAN-2007 TO 01-JAN-2008?
Comment whether the cursor is closed during commit or not.