我有以下
USE [TESTDB] CREATE FUNCTION dbo.Function1 (@input VARCHAR(250)) RETURNS VARCHAR(250) AS BEGIN --do work here END SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON CREATE FUNCTION dbo.Function2 (@input VARCHAR(250)) RETURNS VARCHAR(250) AS BEGIN --do work here END
我尝试使用C#中的SQL连接运行此命令,但收到错误消息:
CREATE FUNCTION’必须是查询批处理中的第一条语句。必须声明标量变量“ @input”。
如何在C#中运行它?
GO不是SQL概念;它在语法上根本不存在。
GO
SSMS通过解析SQL并识别GO(和GO {integer})用法来允许它,并将 您的命令分为几部分 ;然后,它们将这些片段作为独立的命令一个接一个地发布。这样做完全是由SSMS而不是SQL Server驱动程序或SQL Server数据库/服务器来完成的。SqlClient(ADO.NET提供程序)没有内置模拟SSMS的功能,因此:您需要在自己的代码中实现它。也许更简单:首先将代码作为单独的命令编写。
GO {integer}
SqlClient