关于表的默认约束的问题

dpzc_love 2009-07-15 11:36:50

--建立默认约束的疑问
--1.建立表,再在相应字段上加默认约束
USE MASTER
GO
IF OBJECT_ID('TBL_AREA','U') IS NOT NULL
DROP TABLE TBL_AREA;
CREATE TABLE TBL_AREA
(
ID INT NOT NULL,
JIANCHEN VARCHAR(10) NOT NULL,
AREANAME NVARCHAR(50) NOT NULL,
FLAG INT NOT NULL
)
GO
ALTER TABLE TBL_AREA ADD CONSTRAINT D_TBLAREA_FLAG DEFAULT(0) FOR FLAG WITH VALUES
GO
--2.建立表时,直接在列上加上相应的默认约束
USE MASTER
GO
IF OBJECT_ID('TBL_AREA','U') IS NOT NULL
DROP TABLE TBL_AREA;
CREATE TABLE TBL_AREA
(
ID INT NOT NULL,
JIANCHEN VARCHAR(10) NOT NULL,
AREANAME NVARCHAR(50) NOT NULL,
FLAG INT NOT NULL CONSTRAINT D_TBLAREA_FLAG DEFAULT(0)
)
GO
--3.分开写怎么就会报错呢?莫非不能这么写?
USE MASTER
GO
IF OBJECT_ID('TBL_AREA','U') IS NOT NULL
DROP TABLE TBL_AREA;
CREATE TABLE TBL_AREA
(
ID INT NOT NULL,
JIANCHEN VARCHAR(10) NOT NULL,
AREANAME NVARCHAR(50) NOT NULL,
FLAG INT NOT NULL,
CONSTRAINT D_TBLAREA_FLAG DEFAULT(0) FOR FLAG --消息 102,级别 15,状态 1,第 9 行 'for' 附近有语法错误。
)
GO
...全文
97 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuguanlin 2009-07-15
  • 打赏
  • 举报
回复
create default def_name...
go
sp_bindefault....
go
dpzc_love 2009-07-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 feixianxxx 的回复:]
引用 5 楼 dpzc_love 的回复:
TO:feixianxxx
你给的解决方案与 2.建立表时,直接在列上加上相应的默认约束 一样的哇.
我只是希望知道为什么不能像第3种那么写.或者是我哪里写错了.呵呵.


好像还真没那样建 默认的 没见过 你既然可以后面建 为什么非要这么建呢。。
[/Quote]

不是非要这么建立的,呵呵.只是看到其他约束,譬如主键,外键,CHECK约束都可以用第3种方式建立.我想知道默认约束是否这样可以这样写.所以试了试...也才有了此贴.
feixianxxx 2009-07-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dpzc_love 的回复:]
TO:feixianxxx
你给的解决方案与 2.建立表时,直接在列上加上相应的默认约束 一样的哇.
我只是希望知道为什么不能像第3种那么写.或者是我哪里写错了.呵呵.

[/Quote]
好像还真没那样建 默认的 没见过 你既然可以后面建 为什么非要这么建呢。。
dpzc_love 2009-07-15
  • 打赏
  • 举报
回复
TO:feixianxxx
你给的解决方案与 2.建立表时,直接在列上加上相应的默认约束 一样的哇.
我只是希望知道为什么不能像第3种那么写.或者是我哪里写错了.呵呵.
feixianxxx 2009-07-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dpzc_love 的回复:]
楼上的牛牛,先看清楚问题在CTRL+V哦.
[/Quote]

IF OBJECT_ID('TBL_AREA','U') IS NOT NULL
DROP TABLE TBL_AREA;
CREATE TABLE TBL_AREA
(
ID INT NOT NULL,
JIANCHEN VARCHAR(10) NOT NULL,
AREANAME NVARCHAR(50) NOT NULL,
FLAG INT NOT NULL--逗号去掉
CONSTRAINT D_TBLAREA_FLAG_1 DEFAULT(0))
GO
dpzc_love 2009-07-15
  • 打赏
  • 举报
回复
楼上的牛牛,先看清楚问题在CTRL+V哦.
htl258_Tony 2009-07-15
  • 打赏
  • 举报
回复
DEFAULT 定义
每列只能有一个 DEFAULT 定义。


DEFAULT 定义可以包含常量值、函数、SQL-92 niladic 函数或 NULL。下表显示 niladic 函数及其在执行 INSERT 语句时返回的默认值。 SQL-92 niladic 函数 返回的值
CURRENT_TIMESTAMP 当前日期和时间。
CURRENT_USER 执行插入操作的用户名。
SESSION_USER 执行插入操作的用户名。
SYSTEM_USER 执行插入操作的用户名。
USER 执行插入操作的用户名。


DEFAULT 定义中的 constant_expression 不能引用表中的其它列,也不能引用其它表、视图或存储过程。


不能在数据类型为 timestamp 的列或具有 IDENTITY 属性的列上创建 DEFAULT 定义。


如果用户定义数据类型绑定到默认对象,则不能在该用户定义数据类型的列上创建 DEFAULT 定义。
dpzc_love 2009-07-15
  • 打赏
  • 举报
回复
自己沙发先.
feixianxxx 2009-07-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 dpzc_love 的回复:]
引用 6 楼 feixianxxx 的回复:
引用 5 楼 dpzc_love 的回复:
TO:feixianxxx
你给的解决方案与 2.建立表时,直接在列上加上相应的默认约束 一样的哇.
我只是希望知道为什么不能像第3种那么写.或者是我哪里写错了.呵呵.


好像还真没那样建 默认的 没见过 你既然可以后面建 为什么非要这么建呢。。


不是非要这么建立的,呵呵.只是看到其他约束,譬如主键,外键,CHECK约束都可以用第3种方式建立.我想知道默认约束是否这样可以这样写.所以试了试...也才有了此贴.
[/Quote]
O(∩_∩)O~ 目前还没找到方法
LZ研究精神 表扬
第一篇 Oracle管理配置 第1章 Oracle安装配置(教学视频:10分钟) 23 1.1 Oracle简介 23 1.1.1 数据库术语 23 1.1.2 主流数据库简介 24 1.1.3 Oracle数据库的特点 24 1.2 安装Oracle数据库 25 1.2.1 Oracle数据库的版本变迁及安装环境 25 1.2.2 安装过程 26 1.2.3 安装中需要注意的问题 27 1.3 本章小结 28 1.4 习题 28 第2章 Oracle常用工具(教学视频:7分钟) 29 2.1 Net Configuration Assistant(网络配置助手) 29 2.1.1 监听程序配置 29 2.1.2 命名方法配置 31 2.1.3 本地Net服务名配置 32 2.2 Net Manager(网络管理员) 34 2.3 本章实例 36 2.4 本章小结 38 2.5 习题 38 第3章 SQL Plus和PL/SQL(教学视频:11分钟) 39 3.1 SQL Plus与PL/SQL简介 39 3.2 使用SQL Plus 40 3.2.1 登录SQL Plus 40 3.2.2 SQL Plus输出结果的格式化 41 3.2.3 SQL Plus小结 46 3.3 PL/SQL 46 3.3.1 PL/SQL常用开发工具 46 3.3.2 开发一个简单的PL/SQL程序 48 3.4 本章实例 49 3.5 本章小结 50 3.6 习题 50 第二篇 Oracle数据库对象 第4章 Oralce数据库(教学视频:15分钟) 51 4.1 创建Oracle数据库 51 4.2 Oracle数据库的相关术语 52 4.2.1 数据库 53 4.2.2 数据库实例和SID 53 4.2.3 ORACLE_SID 54 4.3 Oracle数据库的备份与恢复 55 4.3.1 逻辑备份/恢复(导出/导入) 55 4.3.2 物理备份/恢复 56 4.3.3 利用PL/SQL Developer备份数据库 60 4.4 本章实例 61 4.5 本章小结 61 4.6 习题 62 第5章 Oracle数据对象(教学视频:42分钟) 63 5.1 Oracle空间 63 5.1.1 Oracle空间简介 63 5.1.2 创建Oracle空间 64 5.1.3 查看空间 66 5.1.4 修改数据库默认空间 67 5.1.5 修改空间名称 68 5.1.6 删除空间 69 5.2 创建Oracle数据 70 5.2.1 利用工具创建数据 70 5.2.2 利用工具查看数据 71 5.2.3 利用命令创建数据 72 5.2.4 利用命令查看结构 72 5.3 修改Oracle数据结构 73 5.3.1 利用工具修改数据结构 73 5.3.2 利用命令修改数据结构 74 5.4 删除数据 75 5.4.1 利用工具删除数据 76 5.4.2 利用SQL语句删除数据 76 5.5 备份/恢复数据 76 5.5.1 利用工具备份/恢复数据 77 5.5.2 利用命令备份/恢复数据 82 5.6 临时 83 5.6.1 临时简介 83 5.6.2 会话级临时 84 5.6.3 事务级临时 85 5.6.4 查看临时在数据库中的信息 86 5.6.5 临时的应用场景 86 5.7 特殊的dual 87 5.7.1 分析dual 87 5.7.2 dual的应用场景 87 5.7.3 修改dual对查询结果的影响 88 5.8 本章实例 89 5.9 本章小结 90 5.10 习题 90 第6章 约束(教学视频:43分钟) 91 6.1 主键约束 91 6.1.1 主键简介 91 6.1.2 创建主键约束 92 6.1.3 修改的主键约束 94 6.1.4 主键应用场景 96 6.2 外键约束 97 6.2.1 外键简介 97 6.2.2 创建外键约束 97 6.2.3 级联更新与级联删除 100 6.2.4 修改外键属性 102 6.2.5 外键使用 104 6.3 唯一性约束 105 6.3.1 唯一性约束简介 105 6.3.2 创建唯一性约束 105 6.3.3 修改唯一性约束 107 6.3.4 唯一性约束的使用 108 6.4 检查约束 108 6.4.1 检查约束简介 108 6.4.2 创建检查约束 108 6.4.3 修改检查约束 110 6.4.4 检查约束的使用 111 6.5 默认约束 111 6.5.1 默认约束简介 112 6.5.2 创建默认约束 112 6.5.3 修改默认约束 113 6.6 本章实例 115 6.7 本章小结 116 6.8 习题 116 第7章 视图(教学视频:50分钟) 117 7.1 关系视图 117 7.1.1 建立关系视图 117 7.1.2 修改/删除视图 118 7.1.3 联接视图 120 7.1.4 编译视图 122 7.1.5 使用force选项强制创建视图 124 7.1.6 利用视图更新数据 125 7.1.7 with check option选项 126 7.1.8 关系视图小结 128 7.2 内嵌视图 128 7.2.1 内嵌视图简介 128 7.2.2 内嵌视图的使用 128 7.2.3 内嵌视图小结 130 7.3 对象视图 131 7.3.1 对象视图简介 131 7.3.2 对象视图简介 131 7.4 物化视图 133 7.4.1 物化视图简介 133 7.4.2 物化视图的使用 133 7.4.3 物化视图的数据加载 135 7.4.4 物化视图的数据更新 135 7.4.5 查询重写 136 7.5 本章小结 136 7.6 本章实例 137 7.7 习题 137 第8章 函数与存储过程(教学视频:48分钟) 138 8.1 函数 138 8.1.1 函数简介 138 8.1.2 创建函数 139 8.1.3 函数中的括号 140 8.1.4 函数的参数 141 8.1.5 函数的确定性 142 8.1.6 典型函数举例 143 8.2 存储过程 144 8.2.1 存储过程简介 144 8.2.2 创建存储过程 144 8.2.3 存储过程的参数——IN参数 146 8.2.4 存储过程的参数——OUT参数 147 8.2.5 存储过程的参数——IN OUT参数 149 8.2.6 存储过程的参数——参数顺序 149 8.2.7 存储过程的参数——参数的默认值 152 8.2.8 存储过程的参数——参数顺序总结 153 8.3 程序包 153 8.3.1 规范 153 8.3.2 主体 155 8.3.3 调用程序包中的函数/存储过程 157 8.3.4 程序包中的变量 158 8.4 本章实例 159 8.5 本章小结 161 8.6 习题 161 …… 第9章 游标(教学视频:36分钟) 162 第10章 触发器(教学视频:58分钟) 178 第11章 序列(教学视频:28分钟) 206 第12章 用户角色与权限控制(教学视频:45分钟) 215 第三篇 Oracle中的SQL 第13章 Oracle数据类型(教学视频:21分钟) 231 第14章 Oracle中的函数与达式(教学视频:111分钟) 240 第15章 Oracle中的控制语句(教学视频:16分钟) 282 第16章 SQL查询(教学视频:55分钟) 290 第17章 SQL更新数据(教学视频:34分钟) 319 第四篇 Oracle编程高级应用 第18章 数据库速度优化与数据完整性(教学视频:32分钟) 332 第19章 数据一致性与事务管理(教学视频:46分钟) 341 第20章 并发控制(教学视频:35分钟) 356 第21章 Oracle中的正则达式(教学视频:29分钟) 369 第五篇 Oracle与编程语言综合使用实例 第22章 Oracle在Java开发中的应用(教学视频:38分钟) 376 第23章 Oracle在C#开发中的应用(教学视频:12分钟) 391

34,590

社区成员

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

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