SQL的存储过程和事务是怎么回事

发布网友 发布时间:2022-04-23 13:21

我来回答

5个回答

热心网友 时间:2022-04-08 04:06

存储过程就相当于编程语言中的函数或方法,根据用户给定的参数执行一段代码
例:你给我20分,我从键盘输入文字,回答问题,并提交答案.我所做的就是一个存储过程,你给的20分是参数,你给的分多,我就回答的详细
事务是一种机制,确保一组数据库命令,要么全都执行,要么都不执行
例:你到银行转帐1000元到我的账户里,当钱刚从你的账户里取出来(还没来的及转入我的账户),突然断电了,这时你的账户就莫名其妙的损失了1000元,事务就是为了避免这种情况,只有当你的账户减少1000,并且我的账户存入1000之后,这个转帐才算成功,所以就要将"存款"和"取款"写到一个事务中去

热心网友 时间:2022-04-08 05:24

存储过程相当于C语言中的函数,它是SQL语句和控制流的预编译集合.存储过程可包含逻辑控制和数据操控,它可以接受参数,输出参数,返回单个或多个结果集以及返回值

热心网友 时间:2022-04-08 06:59

简单的小例子CREATE PROCEDURE testPro
AS
/**//* 事务开始 */
BEGIN TRANSACTION tran_test

/**//* 保存事务 */
SAVE TRANSACTION tran_test

/**//*数据操作 */
INSERT [table1] ( [content] ) VALUES ( '43332' )

/**//*提交事务 */
COMMIT TRANSACTION tran_test

/**//*判断是否有错误 */
IF ( @@ERROR <> 0 )
BEGIN
/**//*自定义错误输出
RAISERROR( 'Insert data error!',16,1 )
/**//* 事务回滚 */
ROLLBACK TRANSACTION tran_test
END

/**//* 判断事务数是否大于0 */
IF ( @@TRANCOUNT > 0 )
BEGIN
/**//* 事务回滚 */
ROLLBACK TRANSACTION tran_test
END
GO

热心网友 时间:2022-04-08 08:50

例:(带的*是参数)
CREATE PROC[EDURE] //name
{@*1 int}[= 默认值] [OUTPUT],
.
{@参数n float}[=.]

AS
SQL语句
例:(不带的)
CREATE PROC[EDURE] //name
[ {@*1 double}[= 默认值] [OUTPUT],
.
{@参数n byte}[= .] [OUTPUT],
]
AS
SQL语句
OUTPUT有视为输出,否则视为输入

热心网友 时间:2022-04-08 10:58

详细解释: http://blog.163.com/zyf_d/blog/static/3741873620077123443680/

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com