存储过程和函数的区别

函数只能返回一个变量,而存储过程可以返回多个;

函数可以嵌入sql中和存储过程中使用,但是存储过程需要让sql的query可以执行,将mysql_real_connect的最后一个参数设置为CLIENT_MULTI_STATEMENTS

函数的限制比较多,不能用临时表,只能用表变量,有些函数不能用,存储过程限制少

存储过程处理的功能比较复杂,而函数实现的功能针对性强,

存储过程可以执行修改表的操作,但是函数不能执行一组修改全局数据库状态的操作

存储过程可以返回参数,如记录集,函数只能返回值或者表对象。存储过程的参数有in,out,inout三种,函数只有in,存储过程声明时不需要返回类型,而函数需要描述返回类型,且函数中必须包含一个有效的return语句

存储过程一般是作为独立部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,所以在查询中位于from关键字后面,sql语句中不可以含有存储过程


你可能感兴趣的:(存储过程,sqlserver函数)