2011-02-06 106 views

回答

4

不能

你可以做的是为一些存储过程参数提供一个默认值,所以你在调用存储过程时不必指定它们。

如果您使用的是SQL Server 2008或更高版本,则还可以调查table-valued parameter(或here) - 基本上可以将数据表传递到您的存储过程。也许这会有所帮助。

+0

据我所知表值参数也应传递(当你创建的类型那里的列)列的具体数量? – BornToCode 2014-09-11 08:29:46

+0

那么如何实现一些像C#`string.Join`这样的函数呢?这是不可能的?我们可以创建一个表参数,但是想要的语法是`DELCARE @something varchar(max)= STRING_JOIN(',','a','b','z');`,就像`sp_executesql`一样 – 2016-01-19 09:46:00