アプリケーションにサインアップするすべてのクライアントに対して、新しいテーブルを作成する必要があります。
たとえば、2つのテーブルがあります
Order_History_<ClientIdentifier>
Transcation_Log_<ClientIdentifier>
SQL Serverで、外出先でカスタマイズされた名前のテーブルを作成するにはどうすればよいですか。また、アプリケーションにアクセスしているクライアントに応じてテーブルをクエリするにはどうすればよいですか。
アプリケーションにサインアップするすべてのクライアントに対して、新しいテーブルを作成する必要があります。
たとえば、2つのテーブルがあります
Order_History_<ClientIdentifier>
Transcation_Log_<ClientIdentifier>
SQL Serverで、外出先でカスタマイズされた名前のテーブルを作成するにはどうすればよいですか。また、アプリケーションにアクセスしているクライアントに応じてテーブルをクエリするにはどうすればよいですか。
非常に簡単な方法:
create procedure CreateTableForUser
(
@UserName nvarchar(100)
)
AS
BEGIN
declare @createScript nvarchar(max) =
'
create table dbo.Order_History_<ClientIdentifier>
(
id int PRIMARY KEY,
val nvarchar(100)
)
'
declare @createScript2 nvarchar(max) =
'
create table dbo.Transcation_Log_<ClientIdentifier>
(
id int PRIMARY KEY,
val nvarchar(100)
)
'
set @createScript = REPLACE(@createScript, '<ClientIdentifier>', @UserName)
set @createScript2 = REPLACE(@createScript2, '<ClientIdentifier>', @UserName)
exec sp_executesql @createScript
exec sp_executesql @createScript2
END
テンプレートテーブルからすべてのフィールドとキーをコピーしてテーブルを作成するなど、より「自動」なものが必要な場合は、sys. ビューですが、書くのは少し長くなります:P