目录
1.创建存储过程
CREATE PROCEDURE CalcTaskInfo
@start_date DATETIME
AS
BEGIN
SET NOCOUNT ON;
SELECT TOP 10 id, project_no create_time from task_info
where create_time > @start_date ORDER BY create_time;
END;
GO
2.删除存储过程
DROP PROCEDURE CalcTaskInfo;
3.查询存储过程
SELECT * FROM sys.procedures;
4.执行存储过程
EXEC dbo.CalcTaskInfo;
-- 如果带参数直接拼在后面
-- 例如:
-- DECLARE @item_numbers NVARCHAR(MAX) = '1a222';
-- EXEC dbo.CalcTaskInfo @item_numbers;
5.通过存储过程名显示文本定义
方法一:使用sp_helptext
系统存储过程
EXEC sp_helptext [CalcTaskInfo];
sp_helptext
是一个系统存储过程,它可以显示对象的文本定义,包括存储过程、触发器、函数等。
方法二:使用sys.sql_modules
视图
SELECT definition
FROM sys.sql_modules
WHERE object_id = OBJECT_ID(N'[dbo].[CalcTaskInfo]');
-- 这里的N前缀表示字符串是Unicode格式的,这对于某些字符非常重要,特别是当你的存储过程中含有非ASCII字符时
SQL Server提供了多个系统视图,其中sys.sql_modules
包含了所有可执行模块(如存储过程、函数、触发器等)的定义文本。
方法三:使用SSMS(SQL Server Management Studio)
如果你正在使用SQL Server Management Studio(SSMS),可以直接右键点击数据库对象资源管理器中的存储过程,然后选择“脚本存储过程为” > “CREATE 到” > “新查询窗口”。