sqlserver学习心得

来源:互联网 发布:苹果茶软件 编辑:程序博客网 时间:2024/05/28 05:18

1、联合主键作为一个表的主键时,通过select语句构建表,必须包含全部的联合主键进行操作,否则进行编辑更新时,不能更新到库中。

2、不要使用缺省字段, 使用缺省字段,增加的时候没有问题,通过sql语句构建表,第一次更新没有问题,再次更新就会出现违反唯一性的错误提示,很郁闷。建议在代码中动态增加给字段赋值,赋值的时候需要处理只对新增行赋值,不要给所有行赋值,否则删除行保存入库有问题。

 3、两个表,例如井层位数据和标准层位数据,我们要取井的所有层位数据,其中有些层位井有,但是标准层位数据没有,那么我们就要采用联合才可以得到。

原来只采用了 a.stratumName = b.stratumName来处理这样只能获取在标准层位关联的井层位信息。

  如果要获取所有层位数据包括不在标准层位信息表中的数据,需要这样获取 from   table1   a   left   join   table2   b   on   a.column1   =   b.column1

4、每一个表定义一个主键,这个主键是整数,唯一,只能增加不能编辑。因为主键编辑的时候,会有一个问题。用户想交换两个主键的值时,更新库就有问题了。

5、sqlserver 缺省不缺分大小写的,如果要区分,写入下代码。

表 
  ALTER   TABLE   表名字 
    ALTER   COLUMN   列名字 nvarchar(100)(类型)   COLLATE   Chinese_PRC_CI_AS   
  --不区分大小写 

  ALTER   TABLE   tb   
    ALTER   COLUMN   colname   nvarchar(100)   COLLATE   Chinese_PRC_CS_AS   
  --区分大小写