使用SQL语句创建存储过程
1.创建一个存储过程info1,用于输出指定学生姓名的信息,包括学号,姓名,出生日期和系别,然后执行该存储过程。2.创建一个存储过程info2,用于获取指定学生姓名的信息...
1.创建一个存储过程info1,用于输出指定学生姓名的信息,包括学号,姓名,出生日期和系别,然后执行该存储过程。
2.创建一个存储过程info2,用于获取指定学生姓名的信息。该存储过程执行完毕后可获取这些信息:姓名,学号,出生日期,以及系别;再编写代码执行这个存储过程并输出该存储过程带回的信息。
3.创建并执行存储过程P_add(实现累加和)累加数作为输入参数,累加和作为输出参数 展开
2.创建一个存储过程info2,用于获取指定学生姓名的信息。该存储过程执行完毕后可获取这些信息:姓名,学号,出生日期,以及系别;再编写代码执行这个存储过程并输出该存储过程带回的信息。
3.创建并执行存储过程P_add(实现累加和)累加数作为输入参数,累加和作为输出参数 展开
6个回答
展开全部
使用SQL语句创建存储的具体过程如下:
1、首先,打开企业管理器,选择【工具】-【查询分析器】:
2、然后,输入SQL语句。如下:
CREATE PROCEDURE byroyalty1 @percentage int
AS
select au_id from titleauthor
where titleauthor.royaltyper = @percentage
GO
3、然后,点击确定之后,命令就会自动添加进查询中:
4、然后执行一下刚输入的命令:
5、最后,就可以在弹出的小窗口中查看存储过程了:
2013-08-13
展开全部
语法
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
[ FOR REPLICATION ]
AS sql_statement [ ...n ]
参数
procedure_name
新存储过程的名称。过程名必须符合标识符规则,且对于数据库及其所有者必须唯一。有关更多信息,请参见使用标识符。
要创建局部临时过程,可以在 procedure_name 前面加一个编号符 (#procedure_name),要创建全局临时过程,可以在 procedure_name 前面加两个编号符 (##procedure_name)。完整的名称(包括 # 或 ##)不能超过 128 个字符。指定过程所有者的名称是可选的。
;number
是可选的整数,用来对同名的过程分组,以便用一条 DROP PROCEDURE 语句即可将同组的过程一起除去。例如,名为 orders 的应用程序使用的过程可以命名为 orderproc;1、orderproc;2 等。DROP PROCEDURE orderproc 语句将除去整个组。如果名称中包含定界标识符,则数字不应包含在标识符中,只应在 procedure_name 前后使用适当的定界符。
@parameter
过程中的参数。在 CREATE PROCEDURE 语句中可以声明一个或多个参数。用户必须在执行过程时提供每个所声明参数的值(除非定义了该参数的默认值)。存储过程最多可以有 2.100 个参数。
使用 @ 符号作为第一个字符来指定参数名称。参数名称必须符合标识符的规则。每个过程的参数仅用于该过程本身;相同的参数名称可以用在其它过程中。默认情况下,参数只能代替常量,而不能用于代替表名、列名或其它数据库对象的名称。有关更多信息,请参见 EXECUTE。
data_type
参数的数据类型。所有数据类型(包括 text、ntext 和 image)均可以用作存储过程的参数。不过,cursor 数据类型只能用于 OUTPUT 参数。如果指定的数据类型为 cursor,也必须同时指定 VARYING 和 OUTPUT 关键字。有关 SQL Server 提供的数据类型及其语法的更多信息,请参见数据类型。
调用:exec 存储过程名 参数
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
[ FOR REPLICATION ]
AS sql_statement [ ...n ]
参数
procedure_name
新存储过程的名称。过程名必须符合标识符规则,且对于数据库及其所有者必须唯一。有关更多信息,请参见使用标识符。
要创建局部临时过程,可以在 procedure_name 前面加一个编号符 (#procedure_name),要创建全局临时过程,可以在 procedure_name 前面加两个编号符 (##procedure_name)。完整的名称(包括 # 或 ##)不能超过 128 个字符。指定过程所有者的名称是可选的。
;number
是可选的整数,用来对同名的过程分组,以便用一条 DROP PROCEDURE 语句即可将同组的过程一起除去。例如,名为 orders 的应用程序使用的过程可以命名为 orderproc;1、orderproc;2 等。DROP PROCEDURE orderproc 语句将除去整个组。如果名称中包含定界标识符,则数字不应包含在标识符中,只应在 procedure_name 前后使用适当的定界符。
@parameter
过程中的参数。在 CREATE PROCEDURE 语句中可以声明一个或多个参数。用户必须在执行过程时提供每个所声明参数的值(除非定义了该参数的默认值)。存储过程最多可以有 2.100 个参数。
使用 @ 符号作为第一个字符来指定参数名称。参数名称必须符合标识符的规则。每个过程的参数仅用于该过程本身;相同的参数名称可以用在其它过程中。默认情况下,参数只能代替常量,而不能用于代替表名、列名或其它数据库对象的名称。有关更多信息,请参见 EXECUTE。
data_type
参数的数据类型。所有数据类型(包括 text、ntext 和 image)均可以用作存储过程的参数。不过,cursor 数据类型只能用于 OUTPUT 参数。如果指定的数据类型为 cursor,也必须同时指定 VARYING 和 OUTPUT 关键字。有关 SQL Server 提供的数据类型及其语法的更多信息,请参见数据类型。
调用:exec 存储过程名 参数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2017-12-16
展开全部
1.create procedure print_std_info1
@name varchar(8)
as
select 学号,姓名,系别,出生日期 from student where 姓名=@name
execute print_std_info1 '高春接'
2.create procedure print_std_info2
@name varchar(8),
@num varchar(8) output,
@xb varchar(8) output,
@birthdate datetime output
as
select @num=学号,@name=姓名,@xb=系别,@birthdate=出生日期 from student where 姓名=@name
go
declare @num varchar(8) ,@name varchar(8),@xb varchar(8),@birthdate datetime
set @name='高春接'
execute print_std_info1 @name,@num output,@xb output,@birthdate output
print'姓名:'+@name
print '学号:'+@num
print'系别:'+@xb
print '出生日期:'+convert(varchar(8),@birthdate)
3.create proc p_add
@n int,@sum int output
as declare @i int
set @i=1
set @sum=0
while @i<=@n
begin
set @sum=@sum+@i
set @i=@i+1
end
go
declare @n int,@sum int
set @n=100
exec p_add @n,@sum output
print '累加和为:'+cast(@sum as varchar(5))
@name varchar(8)
as
select 学号,姓名,系别,出生日期 from student where 姓名=@name
execute print_std_info1 '高春接'
2.create procedure print_std_info2
@name varchar(8),
@num varchar(8) output,
@xb varchar(8) output,
@birthdate datetime output
as
select @num=学号,@name=姓名,@xb=系别,@birthdate=出生日期 from student where 姓名=@name
go
declare @num varchar(8) ,@name varchar(8),@xb varchar(8),@birthdate datetime
set @name='高春接'
execute print_std_info1 @name,@num output,@xb output,@birthdate output
print'姓名:'+@name
print '学号:'+@num
print'系别:'+@xb
print '出生日期:'+convert(varchar(8),@birthdate)
3.create proc p_add
@n int,@sum int output
as declare @i int
set @i=1
set @sum=0
while @i<=@n
begin
set @sum=@sum+@i
set @i=@i+1
end
go
declare @n int,@sum int
set @n=100
exec p_add @n,@sum output
print '累加和为:'+cast(@sum as varchar(5))
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
MySQL教程4 MySQL8运算符、函数、存储过程及新增数据类型 17.之创建带有IN和OUT参数的存储过程 学习猿地
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-13
展开全部
create proc [info1]
@name char(8)
as
select 学号,姓名,出生日期,系别 from 学生表 where name=@id.
执行:exec proc '王八'
@name char(8)
as
select 学号,姓名,出生日期,系别 from 学生表 where name=@id.
执行:exec proc '王八'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询