这一段创建存储过程什么作用
createprocedureQueryTeach(@snochar(6),@snchar(20)OUTPUT,@deptchar(10)OUTPUT)ASSELECT@...
create procedure QueryTeach
( @sno char(6),
@sn char(20)OUTPUT,
@dept char(10)OUTPUT
)
AS
SELECT @sn=SN,@dept=Dept
FROM S
where SNO=@sno
这一段的OUTPUT什么作用 还有这道题目是说根据学号查询某一同学的姓名和系别,怎么查询的 展开
( @sno char(6),
@sn char(20)OUTPUT,
@dept char(10)OUTPUT
)
AS
SELECT @sn=SN,@dept=Dept
FROM S
where SNO=@sno
这一段的OUTPUT什么作用 还有这道题目是说根据学号查询某一同学的姓名和系别,怎么查询的 展开
3个回答
展开全部
这个存储过程 根据 传入的 sno 参数, 将 sn 与 dept 输出
OUTPUT 意味着,这个参数是输出的
具体 OUTPUT 的使用例如,看下面这2段代码
这个是个存储过程,一个 传入的参数,两个OUTPUT 的参数
1> CREATE PROCEDURE HelloWorld2
2> @UserName VARCHAR(10),
3> @OutVal VARCHAR(10) OUTPUT,
4> @InoutVal VARCHAR(10) OUTPUT
5> AS
6> BEGIN
7> PRINT 'Hello ' + @UserName + @InoutVal + '!';
8> SET @OutVal = 'A';
9> SET @InoutVal = 'B';
10> END;
11> go
这个是调用前面那个存储过程的 脚本
1>
2> DECLARE @RC int, @OutVal VARCHAR(10), @InoutVal VARCHAR(10);
3> BEGIN
4> SET @InoutVal = '~Hi~';
5> EXECUTE @RC = HelloWorld2 'Edward', @OutVal OUTPUT, @InoutVal OUTPUT;
6> PRINT @RC;
7> PRINT '@OutVal=' + @OutVal;
8> PRINT '@InoutVal=' + @InoutVal;
9> END
10> go
Hello Edward~Hi~!
0
@OutVal=A
@InoutVal=B
还有些其他的关于存储过程的例子,看下面的帖子:
http://hi.baidu.com/wangzhiqing999/blog/item/78976c07501d1c86d43f7cb2.html
OUTPUT 意味着,这个参数是输出的
具体 OUTPUT 的使用例如,看下面这2段代码
这个是个存储过程,一个 传入的参数,两个OUTPUT 的参数
1> CREATE PROCEDURE HelloWorld2
2> @UserName VARCHAR(10),
3> @OutVal VARCHAR(10) OUTPUT,
4> @InoutVal VARCHAR(10) OUTPUT
5> AS
6> BEGIN
7> PRINT 'Hello ' + @UserName + @InoutVal + '!';
8> SET @OutVal = 'A';
9> SET @InoutVal = 'B';
10> END;
11> go
这个是调用前面那个存储过程的 脚本
1>
2> DECLARE @RC int, @OutVal VARCHAR(10), @InoutVal VARCHAR(10);
3> BEGIN
4> SET @InoutVal = '~Hi~';
5> EXECUTE @RC = HelloWorld2 'Edward', @OutVal OUTPUT, @InoutVal OUTPUT;
6> PRINT @RC;
7> PRINT '@OutVal=' + @OutVal;
8> PRINT '@InoutVal=' + @InoutVal;
9> END
10> go
Hello Edward~Hi~!
0
@OutVal=A
@InoutVal=B
还有些其他的关于存储过程的例子,看下面的帖子:
http://hi.baidu.com/wangzhiqing999/blog/item/78976c07501d1c86d43f7cb2.html
壹寰(深圳)科技文化有限公司
2021-03-27 广告
2021-03-27 广告
不同公司提供的方案也不一样。这方面更多更全面的信息其实可以找下壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库修复、数据库解密恢复、企...
点击进入详情页
本回答由壹寰(深圳)科技文化有限公司提供
展开全部
查询
SELECT @sn=SN,@dept=Dept
FROM S
where SNO=@sno
输出
@sn char(20)OUTPUT,
@dept char(10)OUTPUT
SELECT @sn=SN,@dept=Dept
FROM S
where SNO=@sno
输出
@sn char(20)OUTPUT,
@dept char(10)OUTPUT
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你说是是储存过程吧!以下是他的好处
(1) 存储过程通过参数传递,安全性高,可防止注入式攻击.
(2) 查询的语句在存储过程里,与程序不相关,如果以后要修改程序或者数据库,都不会出现连锁反应,增加系统可扩展性.
(3) 网站执行查询的时候,只需要传递简单的参数就可以了,无论是代码优化上还是查询优化上都可以做到高效.
(4) 允许模块化编程,即,可以将一组查询写在一个过程里面,然后在程序里直接调用,而不必每次都写若干个语句来实现相应功能
至于你同学说的从狭义的角度来说是正确的但也不完全是。目前大型的系统软件开发一般都使用存储过程,维护方便
请参考
(1) 存储过程通过参数传递,安全性高,可防止注入式攻击.
(2) 查询的语句在存储过程里,与程序不相关,如果以后要修改程序或者数据库,都不会出现连锁反应,增加系统可扩展性.
(3) 网站执行查询的时候,只需要传递简单的参数就可以了,无论是代码优化上还是查询优化上都可以做到高效.
(4) 允许模块化编程,即,可以将一组查询写在一个过程里面,然后在程序里直接调用,而不必每次都写若干个语句来实现相应功能
至于你同学说的从狭义的角度来说是正确的但也不完全是。目前大型的系统软件开发一般都使用存储过程,维护方便
请参考
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询