Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQLServerExpress 2005中,是否可以将一组参数作为代码块保存和重用?_Sql_Sql Server 2005_Stored Procedures_Parameters - Fatal编程技术网

在SQLServerExpress 2005中,是否可以将一组参数作为代码块保存和重用?

在SQLServerExpress 2005中,是否可以将一组参数作为代码块保存和重用?,sql,sql-server-2005,stored-procedures,parameters,Sql,Sql Server 2005,Stored Procedures,Parameters,我有几个存储过程都使用相同的参数集。有没有办法将参数列表定义并保存为可重用的代码块?大概是这样的: CREATE PROCEDURE test Using StoredParameterList AS BEGIN SQL Statement END 这可能吗?如果需要更改参数,则代码维护会更容易。嗯,有点像。我从未使用过它们,但Sql Server支持一种称为。我怀疑您可以创建一个表示参数列表的用户定义类型,然后在UDT的每个过程中只包含一个参数。虽然Joel是正确的,但我强

我有几个存储过程都使用相同的参数集。有没有办法将参数列表定义并保存为可重用的代码块?大概是这样的:

CREATE PROCEDURE test
    Using StoredParameterList 
AS
BEGIN
    SQL Statement
END

这可能吗?如果需要更改参数,则代码维护会更容易。

嗯,有点像。我从未使用过它们,但Sql Server支持一种称为。我怀疑您可以创建一个表示参数列表的用户定义类型,然后在UDT的每个过程中只包含一个参数。

虽然Joel是正确的,但我强烈建议不要在SQL中使用UDT(用户定义类型)。它们有许多微妙的限制,这可能会严重制约未来的发展。简单地说,持久化数据不像持久化代码,不能(也不应该)以同样的方式进行管理。在SQL中,必须首先考虑数据,而不是代码。是的,这确实意味着有时会出现明显的代码冗余。