本课程主要关注Oracle数据库中的SQL和PL/SQL语言,特别是系统触发器的使用以及SELECT语句的功能。
在Oracle SQL中,系统触发器是一种特殊类型的触发器,它们在特定的系统事件发生时激活,比如数据库的启动、关闭或是当DDL(Data Definition Language)操作如创建表时。系统触发器允许开发人员在数据库级别定义自动化的行为,例如日志记录。在提供的示例中,创建了一个名为`LogCreations`的触发器,它在用户在当前模式下执行`CREATE`语句后,记录创建的对象信息到`ddl_creations`表中。触发器利用内置的系统函数如`USER`, `SYS.DICTIONARY_OBJ_TYPE`, `SYS.DICTIONARY_OBJ_NAME`和`SYS.DICTIONARY_OBJ_OWNER`获取相关信息,并使用`SYSDATE`获取当前日期。
另一方面,SELECT语句是SQL的核心,用于从数据库中检索信息。它可以实现以下功能:
1. **选择**:允许指定要从表中检索的行,可以通过使用WHERE子句设置条件来过滤数据。
2. **投影**:可以选择返回的列,可以返回原始表中的所有列,也可以只返回部分列。
3. **连接**:通过JOIN操作,可以从多个表中组合数据。虽然课程中没有详细讲解,但连接操作通常包括内连接、外连接和交叉连接等类型。
此外,课程还提到了**连接操作符**`||`,用于将列、算术表达式或常量组合成一个新的字符表达式。例如,将`ENAME`和`JOB`列连接起来形成一个新的输出列,并可使用别名(如`Employlees`)提高查询的可读性。
**原义字符串**是SELECT语句中直接使用的字符、数字或日期,不是表的列名。它们会出现在每行数据的输出中。原义字符串需要用单引号括起来,日期和字符字面值尤其如此,而数值则不需要。
例如,一个简单的查询可能将员工的姓名和薪水用一个字面值(如“1 Month salary=”)连接起来,创建一个更具描述性的输出列。
这门课程涵盖了Oracle SQL中的核心概念,包括系统触发器的使用和SELECT语句的强大功能,这对于任何数据库管理员或开发者来说都是基础且重要的知识。