SQL Server中存储过程与函数的区别
SQL Server用户自定义函数和存储过程有类似的功能,都可以创建捆绑SQL语句,存储在server中供以后使用。这样能够极大地提高工作效率,通过以下的各种做法可以减少编程所需的时间:
1 重复使用编程代码,减少编程开发时间。
2 隐藏SQL细节,把SQL繁琐的工作留给数据库开发人员,而程序开发员则集中处理高级编程语言。
3 维修集中化,可以在一个地方做业务上的逻辑修改,然后让这些修改自动应用到所有相关程序中。
乍看之下,用户自定义函数和存储过程的功能似乎一摸一样。但是,其实这两者之间还有一些虽然细微但是很重要的差异:
1 存储过程是使用EXEC命令独立调用的,而用户自定义函数是在另一个SQL语句中调用的。
2 存储程序是允许用户和程序去使用存储过程,而不是允许其存取表格,这样能够增强程序安全性。与标准的SQL Server相比,存储程序限制用户行动权限方面更为细化。例如,如果你有一个货存表格,每次卖出一个货物收银员都要对表格进行更新一次(从货存中把该货品减去一件)。你可以给收银员设置权限,允许其使用decrement_item存储过程,而不是允许他们有任意修改或村表格的权限。
3 函数必须始终返回一个值(一个标量值或一个表格)。而存储过程可以返回一个标量值、一个表值或无需返回值。
相关文档:
系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......
一 单词解释(2分/个) 34分
Data 数据 Database 数据库 RDBMS 关系数据库管理系统 GRANT 授权
REVOKE 取消权限 DENY 拒绝权限 DECLARE 定义变量 PROCEDURE存储过程
事务 Transaction 触发器 TRIGGER 继续 continue 唯一 unqiue
主键 primary key 标识列 identity 外键 foreign key 检 ......
sql语句查询
表结构是这样:
ID 姓名 性别
1 张三 男
2 王四 男
3 丽丽 女
4 张三 男
5 赵柳 男
6 高洁 男
7 ......
表中主键必须为标识列,[ID] int IDENTITY (1,1)
也可以使用联合主键 id+id2+id3+……
1.分页方案一:(利用Not In和SELECT TOP分页)
语句形式:
SELECT TOP 10 *
from TestTable
WHERE (ID NOT IN
(SELECT TOP 20 id
&nb ......
向表中添加一个新记录,你要使用SQL INSERT 语句。
这里有一个如何使用这种语句的例子:
INSERT mytable (mycolumn) VALUES (‘some data’)
这个语句把字符串’some data’插入表mytable的mycolumn字段中。将要被插入数据的字段的名字在第一个括号中指定,实际的数据在第二个括号中给出。
I ......