Sql Server探索-3:关于Default默认值。
创建person表的时候创建了以下列:
性别 Char(2) Null Default '男'
现想删除此列,因为此列有“Default”值,所以删除此列时,必须先删除此默认值。
问题是此默认值在sysobjects表中Name的值为"DF__person__性别__29572725",问题是程序中如何知道此值呢?我的意思是创建默认值,SQL Server如何在SysObjects中创建此默认值的Name值呢?能不能控制写入SysObjects的Name,譬如创建默认值"性别"时,我想在SysObjects中注册Name为"Person_Sex",而不是系统产生的"DF__person__性别__29572725"。
问题点数:20、回复次数:4Top
1 楼wolfAone(30,奋斗成男人)回复于 2002-04-22 16:53:10 得分 0
没有人知道吗?Top
2 楼Jameszht(湖泊)回复于 2002-04-22 17:13:16 得分 20
因為sql是多用戶的,在systemobject中,default由sql_server生成一個全局惟一的名字.但這個名字是有一定規則的,所以你在程序中可以通過對名字的解析來得到一個列的default值的名字.Top
3 楼wolfAone(30,奋斗成男人)回复于 2002-04-22 18:20:07 得分 0
--查询表'Person‘的默认值
Select '默认值'=Name
from SysObjects
where Parent_Obj =(Select ID from sysObjects where Name='Person')
这个到是可以知道在SysObjects中表 person有多少个Default列,但是我现在想能否操作写入SysObjects表中的Name字段的值呢?
Top
4 楼mymmsc(热血老猫)回复于 2002-12-12 11:29:54 得分 0
upTop




