加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sqlserver学习心得

发布时间:2020-12-12 14:58:27 所属栏目:MsSql教程 来源:网络整理
导读:1、联合主键作为一个表的主键时,通过select语句构建表,必须包含全部的联合主键进行操作,否则进行编辑更新时,不能更新到库中。 2、不要使用缺省字段, 使用缺省字段,增加的时候没有问题,通过sql语句构建表,第一次更新没有问题,再次更新就会出现违反唯

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??? ? --区分大小写?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读