用SQL创建表如何指定默认值?
如:
create table student(Sno char(10),Sex char(2));
我想指定Sex 默认值为'男'
问题点数:20、回复次数:9Top
1 楼cuptbluesky(苦行僧)回复于 2003-04-04 03:25:28 得分 0
create后insert一条记录进去,把sex字段置为'男' 了,但这样也只能有一条记录
sex是男呀
这样做的意义是????不懂
//if 有n条记录,使用update
//update student set Sex='男';
//commit;
//这样的话就student中Sex字段就全是‘男’了,可是什么意思呢?还是不懂
告诉我你做的意义呢?
如果你只是想在用户界面上对该字段有一个默认选择值的话,使用DBGrid的PickList也行呀Top
2 楼oishi(农夫XP)回复于 2003-04-04 08:56:05 得分 0
CREATE TABLE jobs
(
job_id smallint
IDENTITY(1,1)
PRIMARY KEY CLUSTERED,
job_desc varchar(50) NOT NULL
DEFAULT 'New Position - title not formalized yet',
min_lvl tinyint NOT NULL
CHECK (min_lvl >= 10),
max_lvl tinyint NOT NULL
CHECK (max_lvl <= 250Top
3 楼oishi(农夫XP)回复于 2003-04-04 08:56:24 得分 10
D. 使用 DEFAULT 定义
使用 INSERT 和 UPDATE 语句时,如果没有提供值,则默认值会提供值。在 pubs 数据库中,使用了许多 DEFAULT 定义以确保输入有效的数据或占位符。
在 jobs 表上,当没有显式输入实际的描述信息时,默认的字符串将提供描述信息(列 job_desc)。
DEFAULT 'New Position - title not formalized yet'
在 employee 表中,员工可以受雇于子公司或母公司。如果没有显式提供公司信息,则输入母公司(注意在表定义中可以嵌套注释,如下所示)。
DEFAULT ('9952')
/* By default the Parent Company Publisher is the company
to whom each employee reports. */
除了常量以外,DEFAULT 定义还可以包含函数。使用下例获取输入项的当前日期:
DEFAULT (getdate())
niladic 函数也可以提高数据的完整性。若要跟踪插入行的用户,请使用 niladic 函数 USER(niladic 函数不使用括号):
DEFAULT USER
Top
4 楼yui()回复于 2003-04-04 09:16:12 得分 5
create table student(
Sno char(10),
Sex char(2) default '男'
)Top
5 楼yui()回复于 2003-04-04 09:20:06 得分 0
插入一条记录:
insert student(Sno) values ('31')Top
6 楼tplink(黑金)回复于 2003-04-04 11:06:21 得分 0
太感谢各位。
如果是用Query的Append()或 Insert()方法插入记录,默认值会不会同样被添加?
还有niladic函数在哪里使用,能不能介绍再详细些?
Top
7 楼cuptbluesky(苦行僧)回复于 2003-04-04 11:41:02 得分 5
呵呵,我理解错了
create table student(Sno char(10),Sex char(2) default('男'));
Append(),Insert()时该字段会被默认添加的Top
8 楼cuptbluesky(苦行僧)回复于 2003-04-04 11:42:39 得分 0
对应默认字段不要输入新值,否则保存的将是新值Top
9 楼tplink(黑金)回复于 2003-04-04 23:54:08 得分 0
OK.多谢各位。只是这题分太少,觉得有点对不起各位:)Top




