加载中…
个人资料
雪儿
雪儿
  • 博客等级:
  • 博客积分:0
  • 博客访问:75
  • 关注人气:0
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

一个表设置多个主键

(2008-02-20 14:49:15)
标签:

例如:高考

互联网

影评

李宇春

情感

口述实录

越狱

老照片

校园

杂谈

 一个表只能有一个主键,但一个主键可以有多列的。
 
  1:一个表只能有一个主键。    
  2:在数据库关系图或表设计器中,单击要定义为主键的数据库列的行选择器。若要选择多个列,按住 CTRL  键同时单击其它列的行选择器。  
  3:右击列的行选择器,然后选择"设置主键"命令。
 
这些小问题,困惑我很久了。终于明白了,发现原来如此简单。开心……
主键:Primary Key       外键:Foreign Key
有的时候人的脑袋是靠不住的.学了久了就忘了......真是的.
多个表同时设置主键这也是个问题,不过我还没还没遇到。到时再说吧。
今天又有新的近展了。无论如何……高兴,一个表设置多个主键努力做我的毕业设计喽。
 
 
 
 
这是个问题。搜来的。嘿嘿。暂时还没用。先存着。一个表设置多个主键
select   *   from   sysobjects   where   xtype='u'   and   name   like   'sb_%'  
  该语句可以搜索出所有需要设置主键的表(有近千个表都是用户建立的但是都没有主键)  
  比如结果如下:  
  SB_BL_HY5WS1  
  SB_DLQ_DW1_35D_600  
  SB_LH_LB6_35  
  SB_BYQ_OSFPSZ7_240000_330  
  SB_DLQ_XDYJ_ZN28_10  
  。。。  
  所有这些表都有一个字段sbbh   
  如何用sql语句一次性将上述查询出的所有表中的sbbh字段设置为主键
 
--使用游标循环来更改主键约束---------------------------------------  
 Declare   @TbName   sysname  
  declare   @sql1   varchar(4000),@sql2   varchar(4000)  
   
  Declare   c_Key   cursor   for  
      select   [name]   from   sysobjects   where   xtype='U'   and   name   like   'sb_%'  
  open   c_Key  
  fetch   next   from   c_Key   into   @TbName  
   
  while(@@fetch_status=0)  
  Begin  
      set   @sql1   =   'alter   table   '+@TbName+'   alter   column   sbbh   varchar(20)   not   null'  
      set   @sql2='alter   table   '+@TbName+'   add   constraint   PK_'+@TbName+'   primary   key([sbbh])'  
      Exec(@sql)  
      fetch   next   from   c_Key   into   @TbName  
  End  
  Go  

0

阅读 收藏 喜欢 打印举报/Report
后一篇:开学啦
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有