表和视图的区别,存储过程和函数的区别? 10
展开全部
问题1:
表是真实存在, 它占存储空间
视图相当于一个查询语句它不占有存储空间
一个浅显的比喻吧:表是可执行文件,视图是快捷方式
表是真正的存在与数据库中(也就是硬件介质上)的数据组合,而视图只是简单的把一个或多个表或其他视图联系在一起的集合,也就是说视图只是固定了你的数据查询方式,但是并没有真正把数据保存起来,每次访问视图的时候,系统会自动根据视图的规则去组织筛选数据
问题2:
本质上没区别。
只是函数:只能返回一个变量的限制。而存储过程可以返回多个。
函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。
执行的本质都一样。
函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少
1. 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。
2. 对于存储过程来说可以返回参数,而函数只能返回值或者表对象。
3. 存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面。
4. 当存储过程和函数被执行的时候,SQL Manager会到PRocedure cache中去取相应的查询语句,如果在procedure cache里没有相应的查询语句,SQL Manager就会对存储过程和函数进行编译。
表是真实存在, 它占存储空间
视图相当于一个查询语句它不占有存储空间
一个浅显的比喻吧:表是可执行文件,视图是快捷方式
表是真正的存在与数据库中(也就是硬件介质上)的数据组合,而视图只是简单的把一个或多个表或其他视图联系在一起的集合,也就是说视图只是固定了你的数据查询方式,但是并没有真正把数据保存起来,每次访问视图的时候,系统会自动根据视图的规则去组织筛选数据
问题2:
本质上没区别。
只是函数:只能返回一个变量的限制。而存储过程可以返回多个。
函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。
执行的本质都一样。
函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少
1. 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。
2. 对于存储过程来说可以返回参数,而函数只能返回值或者表对象。
3. 存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面。
4. 当存储过程和函数被执行的时候,SQL Manager会到PRocedure cache中去取相应的查询语句,如果在procedure cache里没有相应的查询语句,SQL Manager就会对存储过程和函数进行编译。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询