约束
视图:视图是存储在数据库中的查询的SQL 语句,视图是一个虚拟表,其内容由查询定义。
视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图,
例如查询,插入,修改,删除操作等。当对通过视图看到的数据进行修改时,
相应的基本表的数据也要发生变化,同时,若基本表的数据发生变化,
则这种变化也可以自动地反映到视图中。
索引索引是对数据库表中一列或多列的值进行排序的一种结构,
三种索引:唯一索引、主键索引和聚集索引
序列在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。
PL/SQL
游标:游标提供了一种对从表中检索出的数据进行操作的灵活手段,
就本质而言,游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。
1.为何使用游标:
使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式。用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,且结果往往是一个含有多个记录的集合。游标机制允许用户在SQL server内逐行地访问这些记录,按照用户自己的意愿来显示和处理这些记录。
2. 如何使用游标:
一般地,使用游标都遵循下列的常规步骤:
(1) 声明游标。把游标与T-SQL语句的结果集联系起来。 (2) 打开游标。 (3) 使用游标操作数据。 (4) 关闭游标。
3.下面是用法
DECLARE cursor1 cursor /* 声明游标,默认为FORWARD_ONLY游标 */
FOR SELECT * FROM books
OPEN cursor1 /* 打开游标 */
FETCH NEXT from cursor1 /* 读取第1行数据*/
WHILE @@FETCH_STATUS = 0 /* 用WHILE循环控制游标活动 */
BEGIN
FETCH NEXT from cursor1 /* 在循环体内将读取其余行数据 */
END
CLOSE cursor1 /* 关闭游标 */
DEALLOCATE cursor 1
函数
存储过程:存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
利用SQL的语言可以编写对于数据库访问的存储过程,其语法如下: CREATE PROC[EDURE] procedure_name [;number] [
{@parameter data_type} ][VARYING] [= default] [OUTPUT] ] [,...n] [WITH { RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION } ] [FOR REPLICATION] AS sql_statement [...n] [ ]内的内容是可选项,而()内的内容是必选项,
例:用户想查询tmp表中某年的数据的存储过程 create proc select_query @year int as select * from tmp where
year=@year 在这里@year是存储过程的参数 sql语句执行的时候要先编译,然后执行。存储过程就是编译好了的一些sql语句。用的时候直接就可以用了。 在SQL Server的查询分析器中,输入以下代码: declare @tot_amt int execute order_tot_amt 1,@tot_amt output select @tot_amt 以上代码是执行order_tot_amt这一存储过程,以计算出定单编号为1的定单销售金额,我们定义@tot_amt为输出参数,用来承接我们所要的结果。 触发器触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如Update、 Insert、 Delete 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则。