此间权限设置,重要运用二进制中每一人表示三个权力及位运算的性状开展权力的增减操作
鉴于”^异或运算”运算,左表明式1或0 时
右表明式为1时,将独家发出
0、1,所以剔除权限制时间,必须求一口咬住不放是还是不是存在这里权限

 转自:http://www.maomao365.com/?p=7137

  • sysbase具有八个等第的变量:当地、连接会话、全局;而sqlserver有八个等级的变量:本地、全局
  • sysbase生时局地变量declare只可以申明1个;而sqlserver则足以declare证明多个
  • sysbase的变量可以经过set和select into设置;而sqlserver能够经过set 和
    select = 设置

在sqlserver的权柄设置,大家经常选用1、2、4、8、16、32、64、128等数值分别代表有关消息的某一气象供工作情形使用,通过字段值之间的三结合产生叁个景色值存款和储蓄到数据库中,
设置多个剧中人物有所的权位
例:
1:代表“查看”开关权限
2:代表”修改”按钮
4:代表”导出”按钮
8:代表”删除”按钮

sybase超级多的全局变量是为了合作t-sql而设置的,且非常多特种变量相通于全局变量,或许能够知晓为全局变量的别称

摘要:

特殊值:sysbase的差别平日值和sqlserver的全局变量或会话变量或种类函数相仿

注意事项:

  • sysbase援助多样注释符风格:–、/* */ 、//、%(必需经过设置卡塔 尔(英语:State of Qatar)
  • sqlserver援助二种注释风格:–、/* */

  • 二进制或十八进制字符串常量:以“0x”早先(不晓得是或不是区分轻重缓急写?待验证?卡塔尔国,偶数个[0-9a-f]字符组成的不带引号的字符串种类。

 

经常来说,如若重要字能够经过双引号(””卡塔尔援引而作为标记符,这它被称为保留字;尽管无需双引号援用就足以看成标志符使用,那它就不是保留字。

--例:
--权限表如下:
create table userRole(userId varchar(36),
roleInfo int);
go

insert into userRole(userId,roleInfo)values('test',1) ---初始化测试账号"test",拥有查看权限
insert into userRole(userId,roleInfo)values('猫猫',2) 
--当我们需要给用户加入修改"2"权限,则可以使用以下运算
update userRole set roleInfo =roleInfo|2 where userId ='test'


--当我们需要给用户加入导出"4"权限,则可以继续使用以下运算
update userRole set roleInfo =roleInfo|4 where userId ='test'


--当我们需要给用户删除导出"4"权限,则可以继续使用以下运算
--删除权限前需判断用户是否存在此权限,此脚本不可多次运行
--if exists (select null from userRole where roleInfo &4 =4 and userId ='test')
---begin
update userRole set roleInfo =roleInfo^4 where userId ='test' and roleInfo&4 =4 
--end
---我们检索所有拥有权限"修改2"的用户信息
select * from userRole where roleInfo &2 = 2

go
truncate table userRole
drop table userRole

如上sybase和sqlserver是完全相似的!!

下文通过比如的方法呈报sqlserver中位运算的有关文化,如下所示:
实验意况:sqlserver 2010 福睿斯2

  • sybase   表明式:常量、列名、函数、    变量、   
    一元运算、两元运算、组合运算、仅仅再次回到二个标量值的子查询、case表达式、if表达式、特殊值(相符于sqlserver的大局系统变量或体系函数卡塔尔
  • sqlserver表明式:常量、列名、标量函数、本地变量、一元运算、两元运算、组合运算、仅仅重回贰个标量值的子查询、case表达式、is
    [not] null表达式

 

 

运算符:

  • 正如运算符:大小写区分难题,尾随空白管理难题
  • 逻辑运算符:sqlserver协理的演算符比sybase多过多如:some、any、all、in、between、exists、like、in,可是不扶持is;sysbase只扶植:and
    、or 、not、is
  • 位运算符:
  • 字符串连接运算符:sysbase除了协理 “+”外,还协理sql二零零二规范的“||”;sqlserver不帮衬该操作符
  • 驷不比舌字:词法深入分析的生机勃勃种作为常量的字符串名,首倘使为了词法剖析用。
  • 标记符:词法深入分析的生龙活虎种作为变量的字符串名,标记对象的名目
  • 保留字;词法分析中不得作为标记符的字符串名,主假使为了同盟和扩大的目标。

和sqlserver分化:sysbase扶持4类的字符串中的转义种类:四个当引号转义为三个单引号字符;“\x”开始后接十七进制数能够转义任何字符;“\n”转义换行符;“\\”转义七个反斜线字符。而sqlserver仅仅援助:多个当引号转义为叁个单引号字符

常量:

 

  • sybase的标志符法规和sqlserver基本完全豆蔻梢头致:最大尺寸是1二十八个字符,不区分轻重缓急写,可以动用双引号或方括号括起来。标记符符合日常的平整时,不须要括起来:首字符是字母(字母表中的字母、下划线、@、#、$卡塔尔,其余一些是字母、数字、_、@、#、$;然则一定不可能选取下列字符:双引号、小于0x20的字符(调控字符卡塔 尔(英语:State of Qatar)、双反斜线;其余情形下,则必需接纳方括号或双引号括起来:首字母不是字母,满含空格,为保留字,包涵字母表以外的别的字符
  • sqlbase的标记符准则和sqlserver不意气风发致之处在于:sqlserver不允许$作为健康标记符的首先个假名;@@初始的标记符代表全局变量;##初叶的标志符代表全局不经常表

名字:

网站地图xml地图