简答题 6.  存储过程和函数的区别是什么?各自的作用是什么?
【正确答案】存储过程和函数都是存储在数据库中的程序,可由用户直接或间接调用。它们都可以有输出参数,都是由一系列的SQL语句组成。
   具体而言,存储过程和函数的不同点如下:①标识符不同。函数的标识符为FUNCTION,存储过程为PROCEDURE。②函数必须有返回值,且只能返回一个值,而存储过程可以有多个返回值。③存储过程无返回值类型,不能将结果直接赋值给变量;函数有返回值类型,在调用函数时,除了用在SELECT语句中,在其他情况下必须将函数的返回值赋给一个变量。④函数可以在SELECT语句中直接使用,而存储过程不能,例如:假设已有函数FUN_GETAVG()返回NUMBER类型绝对值。那么,SQL语句“SELECT FUN_GETAVG(COL_A)FROM TABLE”是合法的。
【答案解析】