五、SQLSERVER存储过程

参考:

https://blog.csdn.net/chonbi/article/details/104824449

https://www.cnblogs.com/DarknessHover/articles/15607274.html

https://www.cnblogs.com/dmhp/p/5291106.html

常用的系统存储过程

exec sp_databases; --查看数据库
exec sp_tables;        --查看表
exec sp_columns student;--查看列
exec sp_helpIndex student;--查看索引
exec sp_helpconstraint student;--约束
exec sp_stored_procedures;
exec sp_helptext 'sp_stored_procedures';--查看存储过程创建、定义语句
exec sp_rename student, stuInfo;--修改表、索引、列的名称
exec sp_renamedb myDB, myDB2;--更改数据库名称
exec sp_defaultdb 'master', 'myDB';--更改登录名的默认数据库
exec sp_helpdb;--数据库帮助,查询数据库信息
exec sp_helpdb master;
exec sp_stored_procedures 列出当前环境中的所有存储过程 
exec sp_password 添加或修改登录账户的密码

 

自定义存储过程

参考:https://www.yiibai.com/sqlserver/sql-server-stored-procedures.html#article-start

1、创建存储过程

CREATE PROCEDURE --存储程序名称(--参数)
AS
--T-SQL语句

示例:无返回值

CREATE PROCEDURE sp_GetEmployeeId(@employeeid int)    
AS
SELECT orderid , customerid
FROM orders
WHERE employeeid = @employeeid

 

示例二:有返回值

CREATE PROCEDURE sp_Orders
	@ordercount INT = 0 OUTPUT
AS
SELECT @ordercount = 1
return @ordercount

  

调用返回值:

DECLARE @ordercount INT --声明一个变量
EXECUTE @ordercount= sp_Orders --使用变量来接收 return回来的值 
SELECT @ordercount

  

示例三:带OUTPUT参数的存储过程

CREATE PROCEDURE p_2 @str NVARCHAR(20)=NULL OUTPUT,@int INT=NULL OUTPUT
AS 
SET @str='say hi';
SET @int =1024;


DECLARE @p1 NVARCHAR(20),@p2 INT --声明两个变量

--执行
EXECUTE p_2 @p1 OUTPUT,@p2 OUTPUT --变量后有OUTPUT
SELECT @p1,@p2

--结果
------------------------
(无列名)    (无列名)
say hi    1024


--执行
EXECUTE p_2 @p1 ,@p2  --注意这里没有OUTPUT
SELECT @p1,@p2

--结果
-----------------------
(无列名)    (无列名)
NULL    NULL

  

2、修改存储过程

ALTER PROCEDURE --存储程序名称
   --参数
AS
    --T-SQL语句

  

 3、查看存储过程

execute sp_helptext --存储过程名称

  

4、重命名存储过程

EXECUTE sp_rename --需要改的存储过程名称  --改后的存储过程名称

  

5、调用存储过程

EXECUTE 存储过程名称 参数

  

6、删除存储过程

DROP PROCEDURE proName

posted @ 2021-11-20 11:12  microsoft-zhcn  阅读(193)  评论(0编辑  收藏  举报