若天明 发表于 2015-1-16 22:33:01

MSSQL教程之用“位”来存储、修正用户权限的办法

为了在某种程序上弥补这一缺陷,许多SQL命令都有一个DELAY_KEY_WRITE项。这个选项的作用是暂时制止MySQL在该命令每插入一条新记录和每修改一条现有之后立刻对索引进行刷新,对索引的刷新将等到全部记录插入/修改完毕之后再进行。用户权限
用“位”来存储、修正用户权限的办法


之前我用纪录体例,如A用户有3个模块权限,则A有三笔记录

看到他人的程序里有这类办法,感到不错,给人人看看有无长处可取。

用户权限用一个int字段暗示,能够放32位,

假如有第1,3,4模块的权限则,值为1+4+8=13

___________________
_userId_____userQx___
A??????????????|????13
_________|___________

增添权限详细完成

如增添第四个模块的权限,4的二进制值8

updateqxUsersetuserQx=userQx|8whereuserId=A

删除第四个模块的权限

updateqxUsersetuserQx=userQx&~8whereuserId=A

假如删除第四个模块,则不加前提就能够了
updateqxUsersetuserQx=userQx&~8
以上在SqlServer2000企业版经由过程。

接待人人会商,有更好的办法人人共享呀~~~

在Java里

34&2!=0就好了。


BlackHole黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继

小女巫 发表于 2015-1-19 16:25:45

你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。

再现理想 发表于 2015-1-28 08:32:41

对于微软系列的东西除了一遍遍尝试还真没有太好的办法

第二个灵魂 发表于 2015-2-5 15:54:52

然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情

若相依 发表于 2015-3-3 09:19:26

SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。

活着的死人 发表于 2015-3-11 10:01:14

XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)

透明 发表于 2015-3-18 04:11:37

SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上.

老尸 发表于 2015-3-25 11:54:52

理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
页: [1]
查看完整版本: MSSQL教程之用“位”来存储、修正用户权限的办法