首页 > 试题广场 >

使用SQL语句建个存储过程proc_stu,然后以stude

[不定项选择题]
使用SQL语句建个存储过程proc_stu,然后以student表中的学号Stu_ID为输入参数@s_no,返回学生个人的指定信息。下面创建存储过程语句正确的是:(      )
  • CREATE PROCEDURE [stu].[proc_student]
    @s_no AS int
    AS
    BEGIN
    select * from stu.student where Stu_ID=@s_no
    END
  • CREATE PROCEDURE [stu].[proc_student]
    @s_no int
    AS
    BEGIN
    select * from stu.student where Stu_ID=@s_no
    END
  • CREATE PROCEDURE [stu].[proc_student]
    @s_no int
    AS
    BEGIN
    select * from stu.student where s_no=@s_no
    END
  • CREATE PROCEDURE [stu].[proc_student]
    @s_no AS int
    AS
    BEGIN
    select * from stu.student where Stu_ID=@Stu_ID
    END
存储过程(stored procedure)是一组为了完成特定功能的SQL语句集合,经编译后存储在服务器端的数据库中,利用存储过程可以加速SQL语句的执行。
它可以提高SQL的速度,存储过程是编译过的,如果某一个操作包含大量的SQL代码或分别被执行多次,那么使用存储过程比直接使用单条SQL语句执行速度快的多。
不带参数的存储过程:
create procedure proc_sql1  
as  
begin  
    declare @i int  
    set @i=0  
    while @i<26  
      begin  
         print char(ascii('a') + @i) + '的ASCII码是: ' + cast(ascii('a') + @i as varchar)   
         set @i = @i + 1  
      end  
end
带参数的存储过程:
create proc proc_sql6  
@num1 int,  
@num2 int,  
@num3 int  
as  
begin  
   declare @max int  
   if @num1>@num2    
      set @max = @num1  
   else set @max = @num2  
     
   if @num3 > @max  
      set @max = @num3  
        
   print '3个数中最大的数字是:' + cast(@max as varchar)  
end



发表于 2020-05-15 16:44:54 回复(2)
定义用户变量类型能这样写?
@s_no AS int
这个AS简直莫名其妙
发表于 2019-11-14 17:33:00 回复(7)
同问:疑惑as
发表于 2020-03-04 16:56:32 回复(5)
-------------创建存储过程-----------------

CREATE PROC [ EDURE ] procedure_name [ ; number ]
    [ { @parameter data_type }
        [ VARYING ] [ = default ] [ OUTPUT ]
    ] [ ,...n ]

[ WITH
    { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]

[ FOR REPLICATION ]

AS

sql_statement [ ...n ]

--------------调用存储过程-----------------

EXECUTE Procedure_name '' --存储过程如果有参数,后面加参数格式为:@参数名=value,也可直接为参数值value

--------------删除存储过程-----------------

drop procedure procedure_name    --在存储过程中能调用另外一个存储过程,而不能删除另外一个存储过程
MySql存储过程: https://www.w3cschool.cn/mysql_developer/mysql_developer-85z92j8a.html
create procedure sp_name([[IN |OUT |INOUT ] 参数名 数据类形...])
    begin
     执行的sql语句1;
     执行的sql语句2;
    end
    IN 输入参数
	表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值
    OUT 输出参数
	该值可在存储过程内部被改变,并可返回
    INOUT 输入输出参数
	调用时指定,并且可被改变和返回
    参数名和sql语句中的字段名不能相同
sql和mysql的创建存储过程是不一样的

发表于 2020-08-03 22:57:51 回复(1)
有点疑惑,A为什么是对的呢
发表于 2020-03-06 22:03:50 回复(0)
大惊小怪,就多一个单词和少一个单词的区别啦。
发表于 2020-06-03 21:26:26 回复(1)
as可以省略!!
发表于 2021-08-08 00:08:11 回复(0)
mysql

delimiter //

create procedure proc_stu(

in s_no int

)

begin

select * from student where id = s_no;

end//

delimiter ;


发表于 2020-07-24 17:50:52 回复(0)
声明变量时为什么会有AS
发表于 2020-02-25 11:46:12 回复(1)
as好像可以用空格代替
发表于 2023-11-27 17:46:35 回复(0)
服了
发表于 2022-04-19 00:28:15 回复(0)
变量名 [AS] 变量类型 AS 过程语句
发表于 2021-10-13 15:53:41 回复(0)
和mysql有区别,
1.mysql不需要加as,是的,上面所有as都不能加。
2.作为输入参数,参数前需要加个in,
3.且参数部分必须要有括号括起来。
发表于 2021-08-19 11:44:42 回复(0)
A问那个AS那位解释下
发表于 2021-02-23 20:21:49 回复(0)
as 后还能加关键字嘛
发表于 2020-12-22 09:48:32 回复(0)
为什么可以用as,他后面跟的是类型。别名不是这么起的
发表于 2020-10-20 10:54:44 回复(0)
这是sqlserver的搞法吧  mysql这样玩不了
发表于 2020-09-01 16:11:37 回复(1)
。。看成了单选
发表于 2020-08-22 11:15:42 回复(0)
as 应该是别名吧
发表于 2020-08-11 20:00:27 回复(0)
<p>As 定义别名可写可不写</p>
发表于 2020-06-29 23:33:56 回复(0)