当前位置:七道奇文章资讯数据防范MSSQL防范
日期:2011-05-02 15:21:00  来源:本站整理

SQL Server数据库技术(54)[MSSQL防范]

赞助商链接



  本文“SQL Server数据库技术(54)[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
    缺省值(Default)是往用户输入记录时没有指定具体数据的列中自动插入的数据.缺省值对象与ALTER TABLE 或CREATE TABLE 号令操作表时用DEFAULT 选项指定的缺省值功效类似,但缺省值对象可以用于多个列或用户自定义数据范例,它的管理与利用同法则有很多类似之处.表的一列或一个用户自定义数据范例也只能与一个缺省值相绑定.

9.3.1 成立缺省值
(1) 用CREATE DEFAULT 号令成立缺省值
CREATE DEFAULT 号令用于在当前数据库中成立缺省值对象,其语法以下:
CREATE DEFAULT default_name AS constant_expression
此中constant_expression 子句是缺省值的定义.constant_expression 子句可以是数学表达式或函数,也可以包含表的列名或别的数据库对象.

例9-11: 成立生日缺省值birthday_defa.
create default birthday_defa
as '1978-1-1'
例9-12: 成立姓名缺省值name_defa.
create default name_defa
as user

(2) 用Enterprise Manager 成立缺省值
在Enterprise Manager 中挑选数据库对象"Defaults", 单击右键,从快速菜单中挑选N"ew Default" 选项,即会弹出如图9-6 所示的成立缺省值属性对话框.输入缺省值名称和值表达式之后,单击"肯定"按钮,即完成缺省值的成立.

9.3.2 查看缺省值
(1) 用Enterprise Manager 查看缺省值
在Enterprise Manager 中挑选"Defaults"对象,便可从右边的任务板中看到缺省值的大部份信息.如图9-7 所示.也可以挑选要查看的缺省值,单击右键,从快速菜单中挑选"Properties" 选项,即会呈现如图9-8 所示的缺省值属性对话框,可以从中编辑缺省值的
值表达式.改正缺省值名称的办法与改正法则名称的办法相同,可以用Sp_rename 存储历程改正,也可以在企业管理器的任务板窗口中直接改正.


(2) 用存储历程Sp_helptext 查看缺省值
利用Sp_helptext 存储历程可以查看缺省值的细节.
例9-13: 查看缺省值today.
exec sp_helptext today

运行后果以下:
------------------------------------------------------------------
Text
------------------------------------------------------------------
create default [dp_date] as getdate()

9.3.3 缺省值的绑定与松绑
成立缺省值后,缺省值仅仅只是一个存在于数据库中的对象,并未发生作用.同法则一样,需求将缺省值与数据库表或用户自定义对象绑定.
(1) 用Enterprise Manager 管理缺省值的绑定
在Enterprise Manager 中,挑选要举行绑定设置的缺省值,单击右键,从快速菜单中挑选"Properties" 选项,即会呈现如图9-8 所示的缺省值属性对话框.

图9-8 中的"Bind UDTs…" 按钮用于绑定用户自定义数据范例,"Bind Columns…"按钮用于绑定表的列.在图9-8 中单击"Bind UDTs…" 按钮,则呈现如图9-9 所示的绑定缺省值到用户自定义数据范例的对话框;单击"Bind Columns…" 按钮,则呈现如图9-
10 所示的绑定缺省值到表的列的对话框.用它们来管理缺省值与表的列以及用户自定义数据范例之间的绑定非常便利.

(2) 用存储历程Sp_bindefault 绑定缺省值
存储历程Sp_bindefault 可以绑定一个缺省值到表的一个列或一个用户自定义数据范例上.其语法以下:
sp_bindefault [@defname =] 'default',
[@objname =] 'object_name'
[, 'futureonly']
此中'futureonly'选项仅在绑定缺省值到用户自定义数据范例上时才可以利用.当指定此选项时,仅今后利用此用户自定义数据范例的列会利用新缺省值,而当前已经利用此数据范例的列则不受影响.
例9-14 :绑定缺省值today 到用户自定义数据范例hire_date 上.
exec sp_bindefault today, hire_date
运行后果以下:
--------------------------- ------------------------------
Default bound to data type.
The new default has been bound to columns(s) of the specified user data type.

(3) 用存储历程Sp_unbindefault 解除缺省值的绑定
存储历程Sp_unbindefault 可以解除缺省值与表的列或用户自定义数据范例的绑定,其语法以下:
Sp_unbindefault [@objname =] 'object_name'
[,'futureonly']
此中'futureonly'选项同绑按时一样,仅用于用户自定义数据范例,它指定现有的用此用户自定义数据范例定义的列仍旧保持与此缺省值的绑定.假如不指定此项,全部由此用户自定义数据范例定义的列也将随之解除与此缺省值的绑定.

例9-15: 解除缺省值num_default 与表products 的quantity 列的绑定.
exec sp_unbindefault ‘products.[quantity]’
运行后果以下:
--------------------------- ------------------------------
(1 row(s) affected)
Default unbound from table column.
注意:假如列同时绑定了一个法则和一个缺省值、那么缺省值应当符合法则的规定.
      不能绑定缺省值到一个用CREATE TABLE或ALTER TABLE号令成立或改正表时用DEFAULT选项指定了的缺省值的列上.

9.3.4 删除缺省值
可以在Enterprise Manager 中挑选缺省值,单击右键,从快速菜单中挑选"Delete" 选项删除缺省值,也可以利用DROP DEFAULT 号令删除当前数据库中的一个或多个缺省
值.其语法以下:
DROP DEFAULT {default_name} [,...n]
注意:在删除一个缺省值前必须先将与其绑定的对象解除绑定.

例9-16: 删除生日缺省值birthday_defa.
drop default birthday_defa

本章小结
数据完好性工具的利用是sql server 的一大特点,它通过在数据库端利用特定的规定来管理流入与输出系统的信息,而不是由利用程序本身来掌握信息的范例,这使得数据独立与利用程序成为开放的数据库系统.

  以上是“SQL Server数据库技术(54)[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • Windows 搭配 IIS7 PHP MySQL 环境
  • sqlserver索引的原理及索引成立的注意事项小结
  • SQL Join的一些总结(实例)
  • SQL的Join利用图解教程
  • SQL中JOIN和UNION辨别、用法及示例介绍
  • 关于SQL中CTE(公用表表达式)(Common Table Expression)的总结
  • mysql Out of memory (Needed 16777224 bytes)的错误办理
  • mysql提醒[Warning] Invalid (old?) table or database name问题的办理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • mysql启用skip-name-resolve情势时呈现Warning的处理办法
  • MySQL Order By语法介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .