触发器问题:如何在新增一记录的时候默认一字段的值!

alalya 2003-08-27 10:32:07
比如表A,有一字段SEX,新增的时候默认为1.

成功后马上给分!
...全文
163 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
chao778899 2003-08-27
  • 打赏
  • 举报
回复
insert into student select isnull(字段,0),其他字段 from inserted
Rivulet119 2003-08-27
  • 打赏
  • 举报
回复
在定义表结构时先设置默认值,比如:
create table student
(sno char(4) primary key,
sname char(10) not null,
sex char(2) default '男')

然后在触发器中,插入语句时,只需:
insert into student (sno,sname) vlaues('00000','xxxxx')

或:
insert into student vlaues('00000','xxxxx',defalut)
alalya 2003-08-27
  • 打赏
  • 举报
回复
to: hjb111(东方不败猪八戒)(西方失败唐老鸭)
你误解了,我并非要一个自增列啊!
hjb111 2003-08-27
  • 打赏
  • 举报
回复
不用触发器!
alter table yourtable alter colname int identity(1,1) not null
txlicenhe 2003-08-27
  • 打赏
  • 举报
回复
isnull(字段,0)
alalya 2003-08-27
  • 打赏
  • 举报
回复
to:txlicenhe(不做技术高手) and zarge(鲨至)
我知道可以设置默认值,但是我在程序中已经赋了NULL值,所以default值没有效果,而现在我又不能去改用户已经在用的程序,所以只能通过修改数据库来实现!

我的要求是:当这个字段为NULL时给它赋初值!
zarge 2003-08-27
  • 打赏
  • 举报
回复
默认值
如果在插入行时没有指定列的值,那么默认值指定列中所使用的值。默认值可以是任何取值为常量的对象,例如:

持续


内置函数


数学表达式
有两种使用默认值的方法:

在 CREATE TABLE 中使用 DEFAULT 关键字创建默认定义,将常量表达式指派为列的默认值。
这是首选的标准方法,也是定义默认值的更简明的方法。

使用 CREATE DEFAULT 语句创建默认对象,然后使用 sp_bindefault 系统存储过程将它绑定到列上。
这是一个向前兼容的功能。
txlicenhe 2003-08-27
  • 打赏
  • 举报
回复
为什么不在设计表结构时用字段的默认值?

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧