我正在学习SQL Server Compact,因为我正在编写一个需要本地数据库的程序。我有多个表,每个表都有不同的列,我想将每列标记为某种类型(不是数据类型,只是一个整数标记),让程序知道如何处理它。我对SQL一无所知。如何做到这一点?
答案 0 :(得分:1)
我建议您创建用户定义类型,让代码按照您定义的类型工作,即
EXEC sp_addtype telephone, 'varchar(24)', 'NOT NULL'
现在,您的程序会看到类型电话并决定要做什么
答案 1 :(得分:1)
我会使用扩展属性来存储该元数据。例如:
EXEC sp_addextendedproperty N'columntag', N'123', 'SCHEMA', N'dbo', 'TABLE', N'mytable', 'COLUMN', N'id'
SELECT value AS columntag
FROM fn_listextendedproperty('columntag', 'SCHEMA', 'dbo', 'TABLE', 'mytable', 'column', 'id')
将'columntag'替换为您要引用“整数标记”的内容,将'mytable'替换为您的表名,将'id'替换为相关列的名称,并将'123'替换为您的存储用于查找的整数值。第一个语句添加扩展属性,第二个语句是如何以编程方式检索它。
答案 2 :(得分:0)
SQL Server将此信息存储在系统表中。 Sysobjects持有表格信息。 Syscolumns包含列信息。您可以在systypes中找到数据类型。
Sysobjects和syscolumns在id列上连接。我不记得低头加入systypes但快速谷歌搜索将给你答案。