質問

テーブルの同義語を作成したいので、このデータベースの他のすべてのユーザーが書く代わりにこの同義語を使用します databasename.schema.table 、しかし私が書くとき:

CREATE SYNONYM [ACCT_STMT] FOR [AccountStatementPRD].[dbo].[ACCT_STMT]
GO

エラーMSGを生成します。

データベースにはすでに「acct_stmt」という名前のオブジェクトがあります。 MSG4606、

Oracleでは、同じテーブル名で同義語を作成できます!

役に立ちましたか?

解決

あなたが望むのは名前のみを使用することだけで、すでに正しいDBでstatmentを実行している場合、databasename.schema.tablenameを使用する必要はありません。

たとえば、の代わりに

SELECT * FROM [AccountStatementPRD].[dbo].[ACCT_STMT]

あなたはただできる

SELECT * FROM [ACCT_STMT]

同義語の同じ名前を持っている限り、それは同じで動作しません DB

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top