Kon*_*dov 5 sql-server types sqlclr sqldatatypes
是否可以在SQL Server CLR项目中创建具有nvarchar(max)类型的输入参数的CLR存储过程?
如果您定义存储过程:
<Microsoft.SqlServer.Server.SqlProcedure()> _
Public Shared Sub MyProcedure(ByVal param1 As String)
然后在部署它时,param1的类型为NVarchar(4000).有没有办法让它成为NVarchar(最大)?
您可以使用该SqlFacet属性。如果要将NVARCHAR(MAX)类型作为参数,则应执行以下操作:
[SqlProcedure]
public static void storedProcedure1([SqlFacet(MaxSize=-1)] String param){ .. }
Run Code Online (Sandbox Code Playgroud)
如果您需要它作为用户定义函数中的返回值:
[return:SqlFacet(MaxSize=-1)]
[SqlFunction]
public static String userFunction1(){ ... }
Run Code Online (Sandbox Code Playgroud)
该MaxSize=-1表明的大小NVARCHAR会MAX。