刚开始看sql存储过程,不是很明白,能否解释下下面存储过程的意义
IF EXISTS (SELECT name
FROM sysobjects
WHERE name = N'<procedure_name, sysname, proc_test>'
AND type = 'P')
DROP PROCEDURE <procedure_name, sysname, proc_test>
GOCREATE PROCEDURE <procedure_name, sysname, proc_test>
<@param1, sysname, @p1> <datatype_for_param1, , int> = <default_value_for_param1, , 0>,
<@param2, sysname, @p2> <datatype_for_param2, , int> = <default_value_for_param2, , 0>
AS
SELECT @p1, @p2
GO
EXECUTE <procedure_name, sysname, proc_test> <value_for_param1, , 1>, <value_for_param2, , 2>
GO
IF EXISTS (SELECT name
FROM sysobjects
WHERE name = N'<procedure_name, sysname, proc_test>'
AND type = 'P')
DROP PROCEDURE <procedure_name, sysname, proc_test>
GOCREATE PROCEDURE <procedure_name, sysname, proc_test>
<@param1, sysname, @p1> <datatype_for_param1, , int> = <default_value_for_param1, , 0>,
<@param2, sysname, @p2> <datatype_for_param2, , int> = <default_value_for_param2, , 0>
AS
SELECT @p1, @p2
GO
EXECUTE <procedure_name, sysname, proc_test> <value_for_param1, , 1>, <value_for_param2, , 2>
GO
改成这样就懂了IF EXISTS (SELECT name
FROM sysobjects
WHERE name = N'proc_test'
AND type = 'P')
DROP PROCEDURE proc_test
GOCREATE PROCEDURE proc_test
(@p1 int,@p2 int ) AS
SELECT @p1, @p2
GO
EXECUTE proc_test 1,2结果:
1 2
GO
<> 里面是要求你替换的内容, 例如上面这个表示存储过程名称(procedure_name), sysname 类型, 示例名称: proc_test<value_for_param1, , 1>,
存储过程的第一个参数(value_for_param1), , 示例值为 1<value_for_param2, , 2>
<说明, 数据类型, 示例值>个人感觉看 CREATE PROC 的语法和示例比看模板好