我做了一段数据库的sql 语句
insert into .....goinsert into ....go保存于一个文件。
当我在程序中点击一个按钮后,读出了这个文件的这些内容出来,并要用
sqlcommand更新到数据库里去,但点了更新后就出错,catch出来的话是第x行go附近有语法错误。但这段话在查询分析器里没有任何问题,如果把go去掉也没有任何问题,请问如何处理这个sql 的go呢?
insert into .....goinsert into ....go保存于一个文件。
当我在程序中点击一个按钮后,读出了这个文件的这些内容出来,并要用
sqlcommand更新到数据库里去,但点了更新后就出错,catch出来的话是第x行go附近有语法错误。但这段话在查询分析器里没有任何问题,如果把go去掉也没有任何问题,请问如何处理这个sql 的go呢?
CREATE DEFAULT、CREATE PROCEDURE、CREATE RULE、CREATE TRIGGER 和 CREATE VIEW 语句不能在批处理中与其它语句组合使用。批处理必须以 CREATE 语句开始。所有跟在该批处理后的其它语句将被解释为第一个 CREATE 语句定义的一部分。所以在insert后面是可以不加go的.
create proc ...
...gocreate proc ...
...go如果要分段执行,那么不是要一个存储过程一个存储过程读出来执行,不是很麻烦??难道不能一次性地执行?
http://fenglin.xland.cn
------------------------
当有go的时候就把上一个go开始的语句一次性执行,
当在SqlCommand中执行的时候,可以先把带有go的语句脚本按go把它们分成一批批的分别执行就可以了.
create proc ...
..create proc...
..
就出错了!肯定中间要有go才能执行
IF EXISTS (SELECT *
FROM sysobjects
WHERE name = N'<scalar_function_name, sysname, test_function>')
DROP FUNCTION <scalar_function_name, sysname, test_function>
GOCREATE FUNCTION <scalar_function_name, sysname, test_function>
(<@param1, sysname, @p1> <data_type_for_param1, , int>,
<@param2, sysname, @p2> <data_type_for_param2, , int>)
RETURNS <function_data_type, ,int>
AS
BEGIN
<function_body, , RETURN @p1 + @p2 >
-- eg.
-- DECLARE @sum AS int
-- SELECT @sum = @p1 + @P2
-- RETURN @sum
END
GO
这个GO如何处理