Entity-Attribute-Value テーブルや Key-Value ペア テーブルなどのアンチパターンの代わりにINSERT
、パラメーター テーブルのトリガーを介してデータ テーブルに列を動的に追加することは可能ですか?
ここに私のテーブルがあります:
CREATE TABLE [Parameters]
(
id int NOT NULL
IDENTITY(1,1)
PRIMARY KEY,
Parameter varchar(200) NOT NULL,
Type varchar(200) NOT NULL
)
GO
CREATE TABLE [Data]
(
id int NOT NULL
IDENTITY(1,1)
PRIMARY KEY,
SerialNumber int NOT NULL
)
GO
そして、トリガーはパラメーターテーブルに配置され、追加された新しいパラメーターによってトリガーされます。
CREATE TRIGGER [TRG_Data_Insert]
ON [Parameters]
FOR INSERT
AS BEGIN
-- The trigger takes the newly inserted parameter
-- record and ADDs a column to the data table, using
-- the parameter name as the column name, the data type
-- as the column data type and makes the new column
-- nullable.
END
GO
これにより、私のデータ マイニング アプリケーションは、マイニングするパラメータのリストを取得し、マイニング後にそのデータを保存する場所を持つことができます。また、ユーザーは、SQL をいじる必要なく、新しいパラメーターをマイニングに動的に追加することもできます。
これは可能ですか?もしそうなら、どのようにそれを行うつもりですか?