mysql - 经理级 SQL 事务

标签 mysql sql transactions

经理应该能够:

  • 添加、编辑和删除员工信息
  • 获取特定月份的销售报告
  • 生成网站上广告的所有商品的完整列表

我的问题是我是否想添加编辑或删除员工的信息 例如,如果我想编辑

  UPDATE employee
  SET    salary =  20,000
  where  name = "Adam Gibson"

我怎么知道这是经理的交易?是否有命令表示某笔交易是专门针对某人的?

这是一个家庭作业问题。我需要为经理编写这些交易,但它没有说明我应该为员工添加编辑或删除哪些信息。

我有一个员工的输出表,其中包含一些信息

我怎么能说经理有权力添加编辑或删除信息?

经理和员工表

    CREATE TABLE Employee(
       SSN INTEGER,
       Start_Date DATETIME NOT NULL,
       Hourly_Rate INTEGER,
       Manager INTEGER,

       PRIMARY KEY (SSN),
       FOREIGN KEY (Manager) REFERENCES Manager(SSN), 
       FOREIGN KEY (SSN) REFERENCES Person(SSN)
    );

    CREATE TABLE Manager(
       SSN INTEGER,
       Start_Date DATETIME NOT NULL,
       Hourly_Rate INTEGER,

       PRIMARY KEY (SSN),
       FOREIGN KEY (SSN) REFERENCES Person(SSN)
    );

输出表

员工数据

EmpID   SSN Fname   Lname   Address City    State   ZipCode Telephone   StartDateHourly  Rate    Role   

输出中有 50 名员工,我将只将列的名称放入其中

最佳答案

如果

not (Manager is null)

那么该员工也是经理,并且拥有发布您问题中提到的更新的必要权利。

关于mysql - 经理级 SQL 事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19735186/

相关文章:

php - 用 PHP 和 MySQL 给我的哈希加盐

mysql - 如何在Amazon EC2上安装MySQL 5.7

c# - Firebase Analytics -> BigQuery 如何在 C# 中查询 user_dim.user_properties

php - 使用 php mysqli 创建账本并根据 DR 和 CR 获取余额

sql - 计算没有重叠的总时间

sql - 自动递增我的主键 SQL Server 2012

sql - Oracle 是否允许跨模态视图?

java - java中涉及jdbc、jms、webservices的分布式事务如何实现

django - 长时间运行的事务会使数据库陷入困境吗?

sql-server - node.js:创建一个涵盖对多个存储库的调用的事务