首页 > 其他分享 >使用约束详解[转]

使用约束详解[转]

时间:2023-04-19 11:07:38浏览次数:29  
标签:default primary 约束 job 详解 key 使用 id


使用约束
1.使用 primary key 约束
  其值能唯一的标识表中的每一行。这样的一列或多列成为表的主键,通过它可强制表的实体完整性。
  job_id int primary key clustered
  emp_id empid constraint pk_emp_id primary key nonclustered
2.使用foreign key 约束
   约束引用其他的表
  job_id samllint not null  references jobs(job_id)
  foreign key(job_id) references jobs(job_id)
  constraint fk_sales foreign key(stor_id,orde_num,title_id)
  references sales(stor_id,ord_num,title_id)
3.使用unique 约束
  unqiue约束用于强制非主键列的唯一性,允许存在空值(应该只有一个)
  person varchar(30) null unique nonclustered
  constraint u_store unique nonclustered(stor_name,city)
4.使用default定义
  使用insert和update语句时,如果没有提供值,则使用默认值。
  提供了默认值,  用dbgrid 编辑必须在onnewrecord 事件加上默认值的赋值,否则提示错误
 ‘row can not be located for updating.some values has been changed since it was last read ' 
  default(getdate())
  创建一个产品价格表,并且设置产品的改价者为当时增修改数据的用户
 

create table price 

  ( 

   prod_id char(5), 

   sup_id   char(5), 

   unit_price money, 

   modifier char(5) 

   modi_date datetime default getdate(), 

   primary key(prod_id,sup_id) 

   default user for modifier 

   )


5.使用check约束
 

check(min_lvl>=10)  

  check(max_lvl<=250) 

  constraint ck_emp_id check (emp_id like '[a-z][a-z][a-z][1-9][0-9][0-9][0-9][0-9]' 

      or emp_id like [a-z][a-z][1-9][0-9][0-9][0-9][0-9]') 

  check (pub_id in ('1389','0736','0877') or pub_id like'99[0-9][0-9]'

标签:default,primary,约束,job,详解,key,使用,id
From: https://blog.51cto.com/u_3649463/6205945

相关文章

  • TC(teamcenter)临时许可证使用的影响
    格发GFLicOMS本人及公司长期致力于制造业研发软件许可证管理与优化Teamcenter软件是一款全球领先的产品生命周期管理软件,被广泛应用于制造、航空、国防等多个领域。许多企业为了使用Teamcenter软件,都选择购买或使用临时许可证。然而,这种做法可能存在一定的风险和不确定性。TC软件......
  • SQL查看CHECK约束信息
           以下两个语句均基于系统表sysobjects、syscomments和系统视图sysconstraints,查询结果中包括表ID、表名、列ID、列名、CHECK约束ID、CHECK约束名、CHECK约束status值以及CHECK约束的内容,TCCView为Table-Column-CheckView,结果中均为列级CHECK约束,TCView为Table-Check......
  • Git使用详解
    一、安装指引在Mac上安装Git之前,可以先使用git--version来查看一下是否安装了Git,因为Mac系统可能自带了Git,或者在你安装XCode(或者XCode的命令行工具)时,可能已经安装了Git。1.1安装如果尚未安装Git,或者已安装的Git版本过低,这里我们可以去Git官网https://git-scm.com进行安装......
  • Oracle使用expdp数据泵导出多张表
    由于需要导出的表数量较多,这里要用到include参数。一、exclude/include参数用法:   EXCLUDE=[object_type]:[name_clause],[object_type]:[name_clause]  -->排出特定对象   INCLUDE=[object_type]:[name_clause],[object_type]:[name_clause]  -->包含特定对象 ......
  • 我的第一个NPM包:panghu-planebattle-esm(胖虎飞机大战)使用说明
    好家伙,我的包终于开发完啦 欢迎使用胖虎的飞机大战包!!为你的主页添加色彩这是一个有趣的网页小游戏包,使用canvas和js开发使用ES6模块化开发效果图如下: (觉得图片太sb的可以自己改)代码已开源!!Git:https://gitee.com/tang-and-han-dynasties/panghu-planebattl......
  • 在Go语言中,如何优化内存使用效率?
    在Go语言中,可以通过以下几种方式来优化内存使用效率:避免使用过多的内存尽可能地避免使用过多的内存是最有效的内存优化方法之一。在编写代码时,应该尽可能地避免使用全局变量和大量的临时变量。同时,可以使用常量、静态变量和缓存等方式来避免频繁地分配和释放内存。及时释放不......
  • 如何在 vue3 中使用 jsx/tsx?
    我们都知道,通常情况下我们使用vue大多都是用的SFC(SignleFileComponent)单文件组件模式,即一个组件就是一个文件,但其实Vue也是支持使用JSX来编写组件的。这里不讨论SFC和JSX的好坏,这个仁者见仁智者见智。本篇文章旨在带领大家快速了解和使用Vue中的JSX语法,好......
  • 由浅入深详解四种分布式锁
    在多线程环境下,为了保证数据的线程安全,锁保证同一时刻,只有一个可以访问和更新共享数据。在单机系统我们可以使用synchronized锁或者Lock锁保证线程安全。synchronized锁是Java提供的一种内置锁,在单个JVM进程中提供线程之间的锁定机制,控制多线程并发。只适用于单机环境下的并发控制......
  • 方法使用小练
    方法的重载publicclassDemo02{publicstaticvoidmain(String[]args){intmax=max(10,10);System.out.println(max);}//方法的重载:方法可以重名,但是要参数类型不同publicstaticdoublemax(doublenum1,doublenum2){d......
  • Nodejs的安装与使用
    Nodejs的安装与使用转载请注明来源:http://www.eword.name/Author:ewordEmail:[email protected]一、Centos安装Nodejs1.1、资料准备1.1.1、下载安装包从官网下下载最新的nodejshttps://nodejs.org/en/download/下载#cdopt/#wgethttps://nodejs.org/dist/v10.20.0......