私は2つの異なるデータベースを持っており、両方のDBの情報が必要です。私はこのようなデータを得ることができた:Azure SQL - 複数のデータベースを介してクエリを含むビューを作成します。
create master key encryption by password = 'test'
create database scoped crendetial testcredentials with identity = '[email protected]', secret = '[email protected]'
-- CREATE DATA SOURCE --
create external data source RemoteDataSource with
(
type = RDBMS,
location = 'secret.database.windows.net',
database_name = 'testDB_Dev',
credential = testcredentials
)
-- CREATE TABLES --
create external table [RemoteDepartment]
(
[ID] [int],
[Name] [nvarchar](50)
)
with
(
data_source = RemoteDataSource,
schema_name = 'dbo',
object_name = 'Department'
);
ここからは私がすることができ、今select
、join
、とはるかに。次の出力
|---Name---|---Role---|---Name--|
| Louise | Manager | HR |
| Tim | Finances | Admin |
で
select e.Name, e.Role, d.Name from Employee as e inner join
RemoteDepartment as d on d.ID = e.DepartmentId
(Employeeテーブルには、他のDB(私が照会しています1)から来ている)ここでは私の問題です。これはすごく素早く動いていますが、2つの別々のDBを照会するこの方法を使ってビューを作成する方法については、私の周りを包み込むか、リソースをオンラインで見つけることはできません。
私は次のことを試してみました:
create master key encryption by password = 'test'
create database scoped crendetial testcredentials with identity = '[email protected]', secret = '[email protected]'
-- CREATE DATA SOURCE --
create external data source RemoteDataSource with
(
type = RDBMS,
location = 'secret.database.windows.net',
database_name = 'testDB_Dev',
credential = testcredentials
)
-- CREATE TABLES --
create external table [RemoteDepartment]
(
[ID] [int],
[Name] [nvarchar](50)
)
with
(
data_source = RemoteDataSource,
schema_name = 'dbo',
object_name = 'Department'
);
CREATE VIEW test_view AS
select e.Name, e.Role, d.Name from RemoteEmployee as e inner join
RemoteDepartment as d on d.ID = e.DepartmentId
しかし、不適切な構文
を言ってコンパイルエラーを取得: 'VIEWを作成し' バッチ
で唯一のステートメントでなければなりません私はselect
ステートメント以外のすべてを削除しようとしましたが、これはうまくいきません。コンパイラには何も分かりませんRemoteDepartment
は実際にはです)
申し訳ありませんが、あなたは2つの異なるデータベースを持っていると言いますが、私は1つのデータベース 'testDB_Dev'に2つのテーブルしか見ない –
もちろんあります。私はその投稿を編集した。テーブル「Employee」は照会されているdbから来ます。私の謝罪 – Detilium
2つのテーブルを1つのデータベースに作成することをお勧めします。そうでなければ、2つのデータベースを使用してリソースを浪費します。 –