sql server 创建存储过程
2018-03-01 13:52
281 查看
首先先把我困惑的地方放到前面,后面在详细讲一下过程。在 “对象资源管理器”中,连接到 数据库引擎 的实例,然后展开该实例。
依次展开 “数据库”---》 “可编程性”。
右键单击“存储过程”,再单击“新建存储过程”
将会创建存储过程模板:
让我困惑的 <Procedure_Name, sysname, ProcedureName> 有什么用?
搜遍全网 也没答案。。。。
上图其实是一个存储过程模板。<Procedure_Name, sysname, ProcedureName> 等替换字符串标记为“指定模板参数的值“面板 提供替换字符标记的。只有这种作用,和存储过程没有关系。<Procedure_Name, sysname, ProcedureName> -- Add the parameters for the stored procedure here<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>, <@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0> 这些替换字符串标记只是为了编辑器“指定模板参数的值“面板 替换用的。点击sql server 的查询--->指定模板参数的值(快捷键ctrl+shift+m)。
弹出如下窗口:
这个窗口正是通过存储过程模板的特别标记字段。即上图以标记的对应关系寻找自定义字段的。如果删掉<Procedure_Name, sysname, ProcedureName>
然后再重新打开“指定模板参数的值”面板如下图:创建存储过程
你会发现少了<Procedure_Name, sysname, ProcedureName> 对应的面板参数设置。
现在明白<Procedure_Name, sysname, ProcedureName>等文本的意思了吧。他只是为“指定模板参数的值”面板服务的。当你在“指定模板参数的值”面板设置了参数,存储过程将会把上面的模板如<Procedure_Name, sysname, ProcedureName>自动替换成你设置的参数。如果你不使用这个面板,那你应该删除这些标记(<Procedure_Name, sysname, ProcedureName>等),替换成你想要的参数。下面是我通过模板设置生成的存储过程:
上面的最终代码才是我们最终的存储过程代码。如果你不使用 “指定模板参数的值”面板设置参数,那么你应该手动替换删除上面的替换字符串标记最终的存储过程 样式如下:
表红色框的才是一个存储过程改用的,其他字段需要我们去填写编辑
依次展开 “数据库”、 AdventureWorks2012 数据库和 “可编程性”。
右键单击“存储过程”,再单击“新建存储过程”。
在 “查询” 菜单上,单击 “指定模板参数的值”。
在 “指定模板参数的值” 对话框中,输入下列所示的参数值。
单击“确定” 。
在 “查询编辑器”中,使用以下语句替换 SELECT 语句:SQL复制
若要测试语法,请在 “查询” 菜单上,单击 “分析”。 如果返回错误消息,则请将这些语句与上述信息进行比较,并视需要进行更正。
若要创建该过程,请在 “查询” 菜单上单击 “执行”。 该过程作为数据库中的对象创建。
若要查看在对象资源管理器中列出的过程,请右键单击“存储过程”,然后选择“刷新”。
若要运行该过程,请在对象资源管理器中右键单击存储过程名称 HumanResources.uspGetEmployeesTest,然后选择“执行存储过程”。
在“执行过程”窗口中,输入 Margheim 作为参数 @LastName 的值,并输入值 Diane 作为参数 @FirstName 的值。
下图是我创建的存储过程:
依次展开 “数据库”---》 “可编程性”。
右键单击“存储过程”,再单击“新建存储过程”
将会创建存储过程模板:
让我困惑的 <Procedure_Name, sysname, ProcedureName> 有什么用?
搜遍全网 也没答案。。。。
上图其实是一个存储过程模板。<Procedure_Name, sysname, ProcedureName> 等替换字符串标记为“指定模板参数的值“面板 提供替换字符标记的。只有这种作用,和存储过程没有关系。<Procedure_Name, sysname, ProcedureName> -- Add the parameters for the stored procedure here<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>, <@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0> 这些替换字符串标记只是为了编辑器“指定模板参数的值“面板 替换用的。点击sql server 的查询--->指定模板参数的值(快捷键ctrl+shift+m)。
弹出如下窗口:
这个窗口正是通过存储过程模板的特别标记字段。即上图以标记的对应关系寻找自定义字段的。如果删掉<Procedure_Name, sysname, ProcedureName>
然后再重新打开“指定模板参数的值”面板如下图:创建存储过程
你会发现少了<Procedure_Name, sysname, ProcedureName> 对应的面板参数设置。
现在明白<Procedure_Name, sysname, ProcedureName>等文本的意思了吧。他只是为“指定模板参数的值”面板服务的。当你在“指定模板参数的值”面板设置了参数,存储过程将会把上面的模板如<Procedure_Name, sysname, ProcedureName>自动替换成你设置的参数。如果你不使用这个面板,那你应该删除这些标记(<Procedure_Name, sysname, ProcedureName>等),替换成你想要的参数。下面是我通过模板设置生成的存储过程:
上面的最终代码才是我们最终的存储过程代码。如果你不使用 “指定模板参数的值”面板设置参数,那么你应该手动替换删除上面的替换字符串标记最终的存储过程 样式如下:
表红色框的才是一个存储过程改用的,其他字段需要我们去填写编辑
存储过程 创建
直接官网教程在对象资源管理器中创建过程在 “对象资源管理器”中,连接到 数据库引擎 的实例,然后展开该实例。依次展开 “数据库”、 AdventureWorks2012 数据库和 “可编程性”。
右键单击“存储过程”,再单击“新建存储过程”。
在 “查询” 菜单上,单击 “指定模板参数的值”。
在 “指定模板参数的值” 对话框中,输入下列所示的参数值。
参数 | ReplTest1 |
---|---|
作者 | 您的姓名 |
创建日期 | 今天的日期 |
Description | 返回雇员数据。 |
Procedure_name | HumanResources.uspGetEmployeesTest |
@Param1 | @LastName |
@Datatype_For_Param1 | nvarchar(50) |
Default_Value_For_Param1 | NULL |
@Param2 | @FirstName |
@Datatype_For_Param2 | nvarchar(50) |
Default_Value_For_Param2 | NULL |
在 “查询编辑器”中,使用以下语句替换 SELECT 语句:SQL复制
SELECT FirstName, LastName, Department FROM HumanResources.vEmployeeDepartmentHistory WHERE FirstName = @FirstName AND LastName = @LastName AND EndDate IS NULL;
若要测试语法,请在 “查询” 菜单上,单击 “分析”。 如果返回错误消息,则请将这些语句与上述信息进行比较,并视需要进行更正。
若要创建该过程,请在 “查询” 菜单上单击 “执行”。 该过程作为数据库中的对象创建。
若要查看在对象资源管理器中列出的过程,请右键单击“存储过程”,然后选择“刷新”。
若要运行该过程,请在对象资源管理器中右键单击存储过程名称 HumanResources.uspGetEmployeesTest,然后选择“执行存储过程”。
在“执行过程”窗口中,输入 Margheim 作为参数 @LastName 的值,并输入值 Diane 作为参数 @FirstName 的值。
下图是我创建的存储过程:
相关文章推荐
- SQL Server 在多个数据库中创建同一个存储过程
- SQL Server 2005中创建CLR存储过程
- 利用sql server创建可重复运行的存储过程
- SQL SERVER 用存储过程 自动创建维护数据库快照
- SQL Server 2005 创建简单的存储过程--总结分析
- SQL server 存储过程 创建与使用
- SQL Server创建存储过程
- 使用C#创建SQL Server的存储过程
- SQL Server创建存储过程 [转]
- 使用C#创建SQL Server的存储过程(2)
- sql server创建存储过程(有参,无参,有输出)
- SQL Server创建存储过程
- 使用C#创建SQL Server的存储过程
- SQL Server创建存储过程
- 在创建存储过程时用WITH ENCRYPTION 选择就无法在SQL SERVER中直接调试了。
- SQL Server 在多个数据库中创建同一个存储过程(Create Same Stored Procedure in All Databases)
- SQL Server创建存储过程
- sql server 创建启动存储过程
- SQL Server创建存储过程
- SQL Server创建存储过程