奇怪的SQL问题
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[MOVER_MOULD_APPEND]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)DROP PROCEDURE dbo.MOVER_MOULD_APPEND
GO
CREATE PROCEDURE MOVER_MOULD_APPEND @id int,@classid int,@userid int,@author varchar(255),@caption varchar(255),@content text,@$default int,@recommend int,@picture varchar(255),@date varchar(255) AS INSERT INTO MOVER_MOULD VALUES(@id,@classid,@userid,@author,@caption,@content,@$default,@recommend,@picture,@date)
这条语句有问题吗?
为什么放在程序中却不能执行?
问题点数:20、回复次数:5Top
1 楼moverfan()回复于 2006-06-03 13:57:08 得分 0
GO命令必需单独一行吗?为什么放在一行就出错?Top
2 楼youyu529()回复于 2006-06-03 14:24:45 得分 0
报什么错Top
3 楼moverfan()回复于 2006-06-03 18:17:14 得分 0
查询分析器中运行后的错误如下:
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: 'GO' 附近有语法错误。
服务器: 消息 111,级别 15,状态 1,行 1
'CREATE PROCEDURE' 必须是批查询中的第一条语句。
服务器: 消息 137,级别 15,状态 1,行 1
必须声明变量 '@id'。
Top
4 楼moverfan()回复于 2006-06-03 18:17:54 得分 0
如果把GO单独一行就没有问题Top
5 楼Jedimaster(CRH = 耻辱号)回复于 2006-06-04 21:21:21 得分 0
在USE后面加分号“;”
最好所有的语句都加
最近调试JDBC我也发现了这个问题
而且发现是mysql最严格Top




