在这个简单的用例中创建表时不能使用GO语句

时间:2010-07-13 19:23:32

标签: sql sql-server

我正在尝试运行此SQL脚本,但它无法运行。它说GO文本附近有一个错误。

create table rubro
(
id_rubro int primary key,
nombre_rubro nvarchar(150)
);
GO
create table cliente
(
id_cliente int primary key,
direccion nvarchar(400),
telefono int,
nit int
);

5 个答案:

答案 0 :(得分:4)

您可能有其他一些文本导致错误。当我将相同的脚本复制并粘贴到查询分析器中时,它可以很好地创建2个表。

答案 1 :(得分:2)

运行得很好,你确定你使用的是SQL Server吗?也许你处于SQLCMD模式或者你有隐藏的角色。将其粘贴到notepad ++或editplus中并查找隐藏的字符

答案 2 :(得分:0)

错误是什么意思?也许桌子已经存在。

此外,如果您希望id字段自动递增,则脚本不会这样做。

另一种可能性是您无权创建表格。

答案 3 :(得分:0)

“GO”批处理分隔符关键字实际上由SQL Management Studio本身使用,因此它知道在何处终止它发送到服务器的批处理,并且它不会传递给SQL服务器。如果您愿意,甚至可以在Management Studio中更改关键字。

请注意,某些语句(如CREATE FUNCTION)必须是批处理中的第一个语句。要在SSMS或SQLCMD之外的环境中执行此类操作,您需要单独执行它们(即实现自己的批处理分隔符)

答案 4 :(得分:0)

GO不是合法的T-SQL语句。请参阅my answer to this question