为了编写一些虚拟存储过程,我想知道是否可以用 C# 编写它们,因为我不太了解 T-SQL。
同一过程的 C# 和 T-SQL 版本是否与使用标准数据库库类调用代码(例如 C++/C#/Java 代码)没有区别?
为了编写一些虚拟存储过程,我想知道是否可以用 C# 编写它们,因为我不太了解 T-SQL。
同一过程的 C# 和 T-SQL 版本是否与使用标准数据库库类调用代码(例如 C++/C#/Java 代码)没有区别?
是的,来电者不会知道其中的区别。但是,有一些 API 差异:
NVARCHAR(MAX)
、VARBINARY(MAX)
和XML
)在 SQLCLR 对象中不能有默认值。(Microsoft Connect 建议投票,也许:支持 SQLCLR 对象中 NVARCHAR(MAX)、VARBINARY(MAX) 和 XML 类型的默认参数值)SMALLDATETIME
SMALLMONEY
CHAR
VARCHAR
TEXT
NTEXT
IMAGE
除了对问题的技术回答之外,还有一些事情需要考虑:
究竟什么被认为是“虚拟的”?你只需要一个签名吗?如果是这样,那么在纯 T-SQL 中执行此操作会容易得多。T-SQL 做一个模拟存储过程所需要做的就是:
CREATE PROCEDURE SchemaName.ProcedureName
(
@Param1name Param1Type,
@Param2name Param2Type,
...
)
AS
SELECT CONVERT(resultField1type, NULL) AS [resultField1name],
CONVERT(resultField2type, NULL) AS [resultField2name],
...
;
术语“dummy”意味着这些将在以后被其他东西替换。他们会被什么取代?T-SQL 存储过程?如果您不了解 T-SQL,谁会编写这些?