当前位置: 首页 > 面试题库 >

使用C#使用关键字GO运行.sql语句?

沈国安
2023-03-14
问题内容

我有以下

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概念;它在语法上根本不存在。

SSMS通过解析SQL并识别GO(和GO {integer})用法来允许它,并将 您的命令分为几部分
;然后,它们将这些片段作为独立的命令一个接一个地发布。这样做完全是由SSMS而不是SQL Server驱动程序或SQL
Server数据库/服务器来完成的。SqlClient(ADO.NET提供程序)没有内置模拟SSMS的功能,因此:您需要在自己的代码中实现它。也许更简单:首先将代码作为单独的命令编写。



 类似资料:
  • 问题内容: 我知道使用GO关键字。它将多个语句作为一个整体发送到sql server,而不是一个一个地发送每个语句。我希望我是对的! 但我想知道程序员在实际应用中会使用它吗。就像我们创建一个存储过程一样,它也做同样的事情,它还会编译代码并制定执行计划,然后将整个组发送到服务器。 那么我们是否需要在数据库对象(例如触发器,视图,存储过程)的编码中指定GO关键字? 问题答案: GO 是用于发信号通知批

  • 通过前面的学习我们了解到切片其实就是多个相同类型元素的连续集合,既然切片是一个集合,那么我们就可以迭代其中的元素,Go语言有个特殊的关键字 range,它可以配合关键字 for 来迭代切片里的每一个元素,如下所示: 第 4 行中的 index 和 value 分别用来接收 range 关键字返回的切片中每个元素的索引和值,这里的 index 和 value 不是固定的,读者也可以定义成其它的名字。

  • 本文向大家介绍详解C# partial 关键字的使用,包括了详解C# partial 关键字的使用的使用技巧和注意事项,需要的朋友参考一下 什么是局部类型? C# 2.0 引入了局部类型的概念。局部类型允许我们将一个类、结构或接口分成几个部分,分别实现在几个不同的.cs文件中。 局部类型适用于以下情况: (1) 类型特别大,不宜放在一个文件中实现。 (2) 一个类型中的一部分代码为自动化工具生成的

  • linux Debian Buster go版本go1.11.6 linux/amd64 gcc版本8.3.0(Debian 8.3.0-6) libmylib.go mylib.h 主.cpp CGO _ ENABLED = 1 go build-o libmylib . so-build mode = c-shared libmylib . go g -L/路径/到/库/ -利米利布 main

  • 本文向大家介绍C语言关键字union的定义和使用详解,包括了C语言关键字union的定义和使用详解的使用技巧和注意事项,需要的朋友参考一下 union,中文名“联合体、共用体”,在某种程度上类似结构体struct的一种数据结构,共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量。 但在“联合”中, 各成员共享一段内存空间, 一个联合变量的长度等于各成员中最长的长度 。一个

  • 本文向大家介绍C语言关键字const和指针的结合使用,包括了C语言关键字const和指针的结合使用的使用技巧和注意事项,需要的朋友参考一下 我们先定义三个变量 1、const int *p1 2、int const *p2 3、int *const p3 p1、p2、p3这三个指针都是指向int类型的,那它们有什么区别呢 写个代码测试一下 编译一下 可看到第11,12,16行报错,从中可得出以下结