【问题标题】:SQL Server - two statements on one line?SQL Server - 一行中的两个语句?
【发布时间】:2009-11-02 05:33:57
【问题描述】:

如何将它传递给 SQL Server,它似乎想要在第二行显示“Go 4”?

插入 tbl 值 (896,0) GO 6

【问题讨论】:

  • 你能解释一下,你想要什么吗?
  • 我从未在我的 sql 查询中通过 GO,您可能只想删除 GO 6。

标签: sql sql-server vb.net ado


【解决方案1】:

您确定要这样做吗? documentation 说:

GO 不是 Transact-SQL 语句;它是 sqlcmd 和 osql 识别的命令 实用程序和 SQL Server Management Studio 代码编辑器。 [...] 应用程序基于 如果 ODBC 或 OLE DB API 尝试执行 GO 命令,则会收到语法错误。

如果您仍然确定需要这个,请使用vbCrLf 常量插入换行符:

Dim sql As String = "Insert Into tbl Values (896,0)" & vbCrLf & "GO 6"

【讨论】:

  • GO 是一个简单的批处理分隔符:)
  • 谢谢你的解释顺便说一句,我试过 vbcrlf 但没有帮助。
  • 鉴于我从文档中引用的内容,它不起作用也就不足为奇了。 ;-)
【解决方案2】:

从我的立场来看,你的问题有点令人困惑,但如果你试图插入多条记录,我在 MS SQL Server 2K 中一直使用这样的东西:

INSERT INTO table (field1, field2)
SELECT 'Value1', 'Value2'
UNION SELECT 'Value3', 'Value4'

【讨论】:

  • 我有点猜测您试图在表中插入多行。如果是这种情况,那么值 3 和 4 将是您要插入的第二行中的值。如果你现在仍然得到你想要的答案,你可能想在你原来的问题中添加一个更具体的例子,以明确你想要做什么。
  • 好的。我将再次发布问题并提供更好的解释。我有需要编写多行相同值来设置一些文件的情况。假设我必须处理 120 行并填充两列。我正在寻找一个快捷方式,而不是让 Insert 行重复 n 次。如何做到这一点?
  • 好吧,这看起来有点奇怪,但听起来你的意思是你想插入任意数量的相同数据行。如果是这种情况,可能有更好的方法来实现您真正的最终目标,但您应该能够插入任意数量的行,如下所示:table 是要插入的表,field1 和 field2 是字段名称, value1 和 value2 是您要插入很多次的两个值: INSERT INTO table(field1,field2) SELECT 'value1','value2' UNION ALL SELECT 'value1','value2' UNION ALL SELECT ' value1','value2' 和 on 和 on
  • 差点忘了,如果你想变得光滑,你可能会构建一些动态 sql 并使用 REPLICATE() 函数来创建你的“UNION ALL SELECT 'value1','value2'”语句,但是很多你想要的时间。谷歌 REPLICATE() 函数以获取更多详细信息...我不是 MS SQL 专家。
猜你喜欢
  • 1970-01-01
  • 2011-01-03
  • 2016-12-21
  • 1970-01-01
  • 2018-03-11
  • 1970-01-01
  • 1970-01-01
  • 2011-12-14
  • 1970-01-01
相关资源
最近更新 更多