web-dev-qa-db-ja.com

ジェネリック/変数タイプの列?

SQLで、汎用データ型を含むことができるテーブルを作成したいと思います。このタイプは、すべての行から変更できます。私が思いつくことができる解決策は次のとおりです。

CREATE TABLE TagValue
(
     tag VARCHAR(64),
     value BLOB,
     type INTEGER,
     PRIMARY KEY(tag)
);

ここで「type」列に、valueに含まれるデータのタイプを入力します。

より良い解決策はありますか?

1
Pietro

なぜBLOBなのか?テーブルUserProfile内のデータベースにstringまたはvarbinary(max)またはnvarchar Dot NetNukeがgenerc列を持っているのはなぜですか

CREATE TABLE [dbo].[UserProfile](
    [ProfileID] [int] IDENTITY(1,1) NOT NULL,
    [UserID] [int] NOT NULL,
    [PropertyDefinitionID] [int] NOT NULL,
    [PropertyValue] [nvarchar](3750) NULL,
    [PropertyText] [nvarchar](max) NULL,
    [Visibility] [int] NOT NULL,
    [LastUpdatedDate] [datetime] NOT NULL,
    [ExtendedVisibility] [varchar](400) NULL ....
1
adopilot