SQL学习笔记9 流程控制 权限操作

跟着团子学SAP CO:熟练使用结果分析码实现各个场景下收入成本的匹配(一) KKA2/CJ88 PS模块中对财务顾问最难的点在于项目结算,特别是销售型的项目结算。针对客户型项目结算我列举了以下常见的收入成本匹配的一些场景: (1)在项目执行过程中会多次开票,但由于各期成本浮动很大(如前期可能只涉及一些人工、中期全是比较金额较大的材料费),所以希望开票的时候能通过合理的一些指标进行主营业务成本与主营业务收入的匹配。 (2)项目过程中会多次开票,开票确认主营业务收入时,直接将累计发生的实际成本结转为主营业务成本。 (3)项目过程中虽多次开票,但不确认收入,所有发生的实际成本月末计算为在制品,最后项目一次性 阅读详情

CASE

CASE语句一般有两种用法
第一种用法

CASE expression
    WHEN value1 THEN returnvalue1
    WHEN value2 THEN returnvalue2
    WHEN value3 THEN returnvalue3
    ELSE defaultvalue
END
  • case函数对表达式expression进行测试,如果expression等于value1,则返回returnvalue1.依次类推,如果不符合条件的所有的when条件,就返回默认值defaultvalue。
CASE sex
         WHEN '1' THEN '男'
         WHEN '2' THEN '女'
         ELSE '其他' 
END

第二种用法

CASE
    WHEN condition1 THEN returnvalue1
    WHEN condition2 THEN returnvalue2
    WHEN condition3 THEN returnvalue3
    ELSE defaultvalue
END
  • condition1,condition2,condition3为条件表达式。case函数对各个表达式从前向后进行测试。如果条件1为真的时候就返回条件1对应的值returnvalue1,否则如果condition2为真的时候,就返回returnvalue2,以此类推,如果都不符合条件就返回默认值defaultvalue.
CASE 
    WHEN sex = '1' THEN '男'
    WHEN sex = '2' THEN '女'
    ELSE '其他' 
END

实例
我们用CASE方法来判断工资的等级,并统计每一等级的人数。SQL代码如下;

SELECT
        CASE 
             WHEN salary <= 500 THEN '1'
             WHEN salary > 500 AND salary <= 600  THEN '2'
             WHEN salary > 600 AND salary <= 800  THEN '3'
             WHEN salary > 800 AND salary <= 1000 THEN '4'
             ELSE NULL 
        END salary_class,
        COUNT(*)
FROM    Table_A
GROUP BY
        CASE 
             WHEN salary <= 500 THEN '1'
             WHEN salary > 500 AND salary <= 600  THEN '2'
             WHEN salary > 600 AND salary <= 800  THEN '3'
             WHEN salary > 800 AND salary <= 1000 THEN '4'
             ELSE NULL 
        END;

公司A,这个公司有个规定,女职员的工资必须高于1000块。如果用Check和Case来表现的话,如下所示

CONSTRAINT check_salary CHECK
           ( CASE WHEN sex = '2'
                  THEN CASE WHEN salary > 1000
                        THEN 1 ELSE 0 END
                  ELSE 1 END = 1 )

权限操作

GRANT
赋予一个用户,一个组或所有用户对数据库的操作权限

Grant <权限> ON 表名[(列名)] TO 用户 WITH GRANT OPTION
或 GRANT <权限> ON <数据对象> FROM <数据库用户>  
  • 权限表示对表的操作,如SELECT,UPDATE,INSERT,DELETE或所有权限(ALL)
  • 数据对象可以是表名或列名
  • 用户可以是用户名、用户组或所有用户(PUBLIC)
  • 授权命令是由数据库管理员使用的,若给用户分配权限时带WITH GRANT OPTION子句,则普通用户获权后,可把自己的权限授予其他用户。

DENY
在安全系统中创建一项,以拒绝给当前数据库内的安全帐户授予权限并防止安全帐户通过其组或角色成员资格继承权限

DENY <权限> ON <数据对象> TO <数据库用户>

REVOKE
收回以前在当前数据库内的用户上授予或拒绝的权限

REVOKE <权限> ON <数据对象> FROM <数据库用户>

DENY和REVOKE的区别:废除类似于拒绝,但是,废除权限是删除已授予的权限,并不妨碍用户、组或角色从更高级别继承已授予的权限。因此,如果废除用户查看表的权限,不一定能防止用户查看该表,因为已将查看该表的权限授予了用户所属的角色

参考资料:http://blog.youkuaiyun.com/runupwind/article/details/1670951
http://blog.youkuaiyun.com/friendan/article/details/8293288
https://www.cnblogs.com/airycode/p/5283509.html

10.2 在新能源、储能及电网节点的应用实践 构网型变流器技术在电力系统中的应用进展 构网型变流器技术正从理论研究走向规模化工程应用,为新能源并网提供主动支撑能力。该技术在光伏电站采用"部分构网"混合架构,由构网单元实现黑启动和弱网稳定;在风电场利用叶轮动能提供惯量响应。储能系统是理想的构网载体,可提供快速调频和动态电压支撑。在电网节点,构网型STATCOM可增强弱电网电压稳定性,大容量变流器可替代传统调相机。当前面临标准滞后、宽频振荡风险等共性挑战,需在可靠性、经济性间取得平衡。系统级协调控制和精确阻抗建模是应用成功的关键。 阅读详情

相关推荐

最新CobaltStrike4.8/CobaltStrike4.9、CS4.9/CS4.8、 Windows/Linux/Mac版下载

Cobalt Strike是一款基于java的渗透测试神器,常被业界人称为CS神器。自3.0以后已经不在使用Metasploit框架而作为一个独立的平台使用,分为客户端与服务端,服务端是一个,客户端可以有多个,非常适合团队协同作战,多个攻击者可以同时连接到一个团队服务器上,共享攻击资源与目标信息和sessions,可模拟APT做模拟对抗,进行内网渗透。 Cobalt Strike集成了端口转发、服务扫描,自动化溢出,多模式端口监听,win exe木马生成,win dll木马生成,java木马生成,

weixin_43167326的博客 7972

mysql-限制用户对库表的增删改查权限

一、限制用户对库表的增删改查权限 授权语法:grant权限1,权限2..... on数据库对象 to'用户' all privileges:代表所有权限 .:代表所有库所有表 对现有用户进行授权:对现有用户pig授予所有库所有表所有权限。 grant权限1,权限2..... on数据库对象 to'用户'@'host' identified by 'password'; 举例:grant all privileges on *.* to 'pig'; 二、对没有的用户进行授权:创建一...

点滴记忆,分享成长之路 2962

离散数学期末考试试卷(两套)-熟悉题型

3.设集合A={a,b,c,d}上有自反关系R={,,,,},对称关系S={,,,}。6.设集合A={1,2,3},B={u,v,w},C={a,b,c},f是集合A到集合B上的映射,g是集合B到集合C上的映射,f={, , },g={},则复合函数g。5. 设集合A={a,b,c,d,e},下列选项中哪一个集合不是A的划分( )。

muse3159546973的博客 6956

SQL数据分析day2

假设某公司规定“女性员工的工资必须在 20 万日元以下”,而在这个公司的人事表中,这条无理的规定是使用CHECK 约束来描述的,代码如下所示。在这段代码里,CASE 表达式被嵌入到 CHECK 约束里,描述了“如果是女性员工,则工资是 20 万日元以下”这个命题。在命题逻辑中,该命题是叫作蕴含式(conditional)的逻辑表达式,记作 P → Q。逻辑与也是一个逻辑表达式,意思是“P 且 Q”,记作 P ∧ Q。用逻辑与改写的 CHECK 约束如下所示。这两个约束的程序行为不一样。

weixin_51614589的博客 959

昇腾910B多卡环境下hccl-test性能调优实战

本文详细介绍了昇腾910B多卡环境下hccl-test性能调优的实战经验,包括环境搭建、CANN工具链配置、性能测试与高级调优技巧。通过优化缓冲区、PCIe拓扑和中断亲和性设置,显著提升多卡通信效率,为AI训练提供稳定高效的计算支持。

weixin_29216049的博客 841

PX4实战(十):PX4导航模块(Navigator)详解

本文将对 PX4 固件 v1.14.3 版本中的 Navigator(导航)模块进行详尽的技术剖析。作为飞行控制栈中的高层决策核心,Navigator 模块承担着将抽象的任务指令转化为具象的底层控制设定点的关键职责。本文基于对 src/modules/navigator 目录下源代码的深究研究与架构反推,详细阐述了该模块的文件组织结构、基于状态机的控制逻辑、uORB 异步通讯机制、核心任务模式(Mission)与返航模式(RTL)的实现细节,以及地理围栏(Geofence)与任务可行性检查(Feasibil

PX4-SLAM-PNC 669

史上最全,最详细SQL基础

视图是一个虚拟的表,不同于直接操作数据表,视图是依据SELECT语句来创建的(后续会具体介绍),所以操作视图时会根据创建视图的SELECT语句生成一张虚拟表,然后在这张虚拟表上做SQL操作注册嘎下一步是指一个查询语句嵌套在另一个查询语句内部的查询,在 SELECT 子句中先计算子查询,子查询结果作为外层另一个查询的过滤条件,查询可以基于一个表或者多个表。

qq_47897078的博客 6371

麻雀搜索算法(SSA)详解:从鸟群智能到优化实践

麻雀搜索算法(SSA)是一种新型群智能优化算法,模拟麻雀群体的觅食行为和反捕食机制。该算法将优化问题转化为麻雀群体对食物源的搜索过程,通过发现者、加入者和警戒者的角色分工实现高效优化。SSA具有原理新颖、参数合理、收敛快速等特点,在函数优化、工程设计和机器学习等领域展现出良好应用前景。算法通过数学模型模拟麻雀的觅食策略,包括发现者全局探索、加入者局部开发和警戒者危险预警机制,有效平衡了全局搜索与局部开发能力。SSA相比传统优化算法具有更好的收敛性和优化效果。

qq_42212808的博客 1072

禁止用户对系统数据库表的SELECT权限

由于数据库安全方面的考虑,想去掉某些用户对系统数据库表的SELECT权限,找了N久,原来在系统数据库下的角色中有public的角色,该角色的权限允许了对系统数据库表的SELECT权限,设为禁止即可。...

weixin_33805992的博客 660

8、内存交织技术详解

本文详细解析了内存交织技术的基本原理、工作机制及实现方式,探讨了其在提升内存访问速度和系统性能中的关键作用。文章还分析了内存交织的优缺点、实际应用场景以及与其他优化技术的结合应用,并提出了未来发展的可能方向,为理解与运用该技术提供了全面参考。

g9h0i1的博客 549

Linux安装MinIO(图文解说详细版)

最近开个新坑,就是在linux环境中操作开发环境,带大家玩转Linux,会整理出一篇Linux的专栏,欢迎大家订阅!! 富贵同学linux环境为CentOS7.8 版本。 上期跟大家说了一下OpenJDK的安装,这次说一下minio的安装 第一步,进入/opt 目录,创建minio文件夹 cd /opt mkdir minio 第二步,wget下载安装包: wget https://dl.minio.io/server/minio/release/linux-amd64/minio 第三步,进入m

编码人生 5万+

mysql 视图权限_mysql – 授予视图权限,拒绝对表进行选择

我有一个MySQL用户,我希望它只查看我想要的视图,而不是数据库中的任何其他表.我仅在某些视图上授予此用户权限,如下所示:GRANT SHOW VIEW ON `myDatabase`.`awesome_view` TO 'thisUser'@'%'如果我做演出补助金;声明我只能按预期看到此权限.但是,我希望这个用户只查询视图,而不是查询与这些视图相关的表,但我找不到这样做的方法.似乎如果我希望用...

weixin_31185473的博客 1867

计算机毕设:线性回归 Xgboost LSTM 预测黄金价格实战 完整代码数据视频讲解 可直接运行

线性回归 Xgboost LSTM 预测黄金价格实战 完整代码数据视频讲解 可直接运行

1761

SQL Server 2012学习笔记 (三) ----- SQL Server SQL语句

  在很多情况下,可以用CREATE TABLE语句创建数据表、使用ALTER TABLE语句修改表结构、使用DROP TABLE语句删除表;   可以使用CREATE DATABASE创建数据库、ALTER DATABASE修改文件或文件组、DROP DATABASE语句删除数据库; 1、数据定义语句(DDL) 表创建——CREATE 表删除——DROP 表修改——ALTER 2、数据操...

小道的博客 951

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

T-SQL精简笔记总结

  虽然工作中用了很多关于SQL方面的技术,但没用静下心来看一本完整的关于数据库方面的系统数据,正好最近在看关于这方面的书,所以就对于自己学习的过程,对于一些重点的知识点就记录下来。   T-SQL(Transact Structured Query Language)时标准的 Microsoft SQL Server 的 ...

耕耘虫 1160

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

大厂学长发给我的416页Mysql学习笔记,分享给大家

在之前校招面试中,mysql 被问到的频率是真的高,自以为还算精通,经不住面试官刁钻的问题。为了快速补齐,网络上找了不少资料。反而陷入学习凌乱…… 无奈求助一个已经进入大厂的学长,因为他时间比较忙,就塞给了我一本超详细的学习笔记,让我按索引查看不熟悉的地方。真的是超级全面,覆盖了Mysql的所有知识点。现在拿出来分享给大家。一起进步! 整整26个篇幅416页的内容,全程干货!包含最基础的安装、常用命令、SQL分类;介绍mysql中常⽤的数据类型;mysql类型和java类型对应关系; 数据类型选择的⼀些

alafaqi的博客 320

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

MySQL学习笔记-初级操作

DDL数据定义语言 在建表时同时插入数据,新表的字段列表必须与子查询中的字段列表数量匹配。如果省略字段列表,则新表的列名与选择结果完全相同。 create table 表名 [列名[, 列名...]] as slecet * from 其他表 5. truncate 对于大部分数据库而言,trucate都被当成DDL处理,truncate被称为截断某个表-它的作用是删除该表里的全...

肥叔菌的博客 9060

SQL数据库教程-学习笔记1

SQL数据库教程-学习笔记1 文章目录SQL数据库教程-学习笔记1一、MySQL基础概念1、数据库的好处:2、数据库的常见概念:3、数据库存储数据的特点:4、常见的数据库管理里系统:5、SQL的功能:6、mysql常见操作二、DQL语言的学习:1、基础查询(1)查询表中的单个字段:(2)查询表中的多个字段:(3)查询表中的所有字段:(4)查询常量值:(5)查询表达式:(6)查询函数(7)起别名:(8)去重(9)连接字符型(10)练习2、条件查询(1)按条件表达式筛选:条件运算符(2)按逻辑表达式筛选:逻辑

weixin_47456925的博客 1923

2024Mysql And Redis基础与进阶操作系列(9)作者——LJS[含MySQL存储过程之局部、系统变量、参数传递、流程控制-判断/case具体详步骤;注意点及常见报错问题所对应的解决方法]

MySQL存储过程之局部、系统变量、参数传递、流程控制-判断/case具体详步骤;注意点及常见报错问题所对应的解决方法

跟我加入白帽大家庭,共捍亿万互联网用户安全! 1662

尚硅谷MySQL从入门到大牛 | 学习笔记目录以及建议

说明:根据所做笔记。

m0_74795952的博客 3038

MySQL笔记9

存储过程(含概念、优缺点等)、流程控制( if / case 判断、各类循环)、触发器(简介、创建及 NEW / OLD )、存储函数(简介与创建调用)相关

2401_84387743的博客 960

SQl基础——附带实例

这是在工作开始学习SQL基础时记下的一点笔记,内容很基础。算是对学习的个人记录,适合初学者和学生来看。学的时候用的Typora来写的其中的注释有的用的–有的用的/**/.文章可能还有些许错误,请大家指教。 【】:表示其中的内容可以写也可以不写,按需而定 SQL基础 SQL struct query language 结构化查询语言 一、 T-SQL分类 数据定义语言 DDL 用来管理数据库对象,包括:数据库、数据表、索引、游标、视图、存储过程等 创建 :create 删除: drop 修改: alter

格里芬达的博客 698

MySQL数据库—SQL汇总

一、准备 下文整理常见SQL语句的用法,使用MySQL5.7测试,参考了尚硅谷MySQL教程及用例。用例sql: 链接: https://pan.baidu.com/s/1tb3-12MRNFjV8drFlN6wzg&shfl=sharepset 密码: fc2h 为了方便查阅可从右侧目录快速索引 二、DQL(Data Query Language)数据查询语言 1、语句顺序 书写顺序...

Sirm23333 7万+

SQL Serever学习9——基础查询语句

SQL语言概述 SQL是结构化查询语言(Structure Query Language),1974年提出,1979年被IBM实现,SQL语言已经成为关系型数据库的标准语言。 包括: DDL数据定义语言 语句有CREATE ,ALTER ,DROP,操作表,视图,触发器,存储过程 DML数据操作语言 语句有SELECT ,INSERT , UP...

weixin_34195142的博客 350

21 天 Python 计划:MySQL视图、触发器、存储过程、函数与流程控制

Python是一种强大且易于学习的编程语言。通过这个21天的计划,我们将逐步深入MySQL视图、触发器、存储过程、函数与流程控制。无论你是初学者还是有一定基础的开发者,这个计划都将帮助你巩固和扩展你的Python知识。

懂搬砖 1707

MySQL学习笔记1

MySQL是一种关系型的数据管理系统,分别通过数据库、数据管理系统、SQL语句组成。

weixin_47175003的博客 975
上一篇: SQL学习笔记8 数据类型
下一篇: Javascript学习笔记1 理解对象 属性 原型对象
PAT-python-zjw
博客等级 码龄10年 381粉丝 408原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值