- 数码问答
- 答案列表
设置主键 sql:sql数据库设置主键[朗读]
创建表--------------------------------------------------------------------------------createtablenull一般省略.primarykey--是本表的主键.constraint--是对表里的字段添加约。
问题:回答:functionaddprimarykey()'添加主键到[编号]字段dimstrsqlasstringstrsql="altertable表1addconstraintprimary_key"_&"primarykey(编号)"。
首先一个表是不能有两个主键的.但是可以有两个字段组合成一个主键,这就是为什么有时候表里为什么会有两个字段都有主键的标志,那是因为他们组合成了一个主键了.我们可以先删除了原来的主键再用类似下面sql语句建立:altertable你的表名addconstraintpk_nameprimarykey(字段1,字段2)或者在表设计器里面按住ctrl选中要设置主键的两列再设置主键就ok了?
主键的目的就是和其他表进行关联,小系统建议用,大型系统不建议设置主键,也不建议设置外键、触发器、存储过程!因为大型系统数据是海量的,设置这些东西会使系统变得异常缓慢(一般是几何基数的增长,比如加上主外键的10万条记录备份需要1分钟,上升到100万条就要20多分钟了,如果再多就无法处理了,有些大型系统还要设置数据仓库要跟业务数据分离(也就是业务数据定期导入到数据仓库中供特殊查询服务,经常性的业务才会保留在业务数据库中),否则就是不设置这些东西也无法正常运行),这些数据库功能应该交给客户端或者中间件去完成。
根据你的问题,可以这样做:1、在已经建好的表上添加主键:altertablebaddconstrantid_pkprimarykey(id);2、在创建表时就设置好主键:createtableb(idnumber(2),numbervarchar2(10),agenumber(3),gradevarchar2(3),constraintid_pkprimarykey(id));