在sql server可以,在MySQL不行
请教各位大牛,下面一段sql在sql server上可以执行,但是在MySQL5.1上却不行,create table gkcf (
KSH CHAR(14) not null,
KHCHAR(9) not null,
XMCHAR(9) not null,
KM1 INT,
KM2 INT,
KM3 INT,
KM4 INT,
KM5 INT,
ZFINT )
go
create PROCEDURE PROC_MAKEGKCF
(
@start INT,
@stopINT
)
begin
declare @cur INT
declare @km1 int
declare @km2 int
declare @km3 int
declare @km4 int
declare @km5 int
declare @zf int
Select @cur=@start
While @cur<=@stop
begin
Select @km1=CONVERT(INT,RAND()*100)
Select @km2=CONVERT(INT,RAND()*100)
Select @km3=CONVERT(INT,RAND()*100)
Select @km4=CONVERT(INT,RAND()*100)
Select @km5=CONVERT(INT,RAND()*100)
Select @zf=@km1+@km2+@km3+@km4+@km5
insert into gkcf values(CONVERT(CHAR(14), @cur),CONVERT(CHAR(9), @cur),'测试',@km1,@km2,@km3,@km4,@km5,@zf)
Select @cur=@cur+1
end
end
gocreate UNIQUE index gkcf_index on gkcf (KSH)
goPROC_MAKEGKCF 1,100000
go
报错是:Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'go
create PROCEDURE PROC_MAKEGKCF
(
@start INT,
@stopINT
) TYPE' at line 11
(0 ms taken)
第十一行就是第一个go那一行 有些是不通用的,是不能直接用,需要转换。
mysql中没有go,用";"代替go
社区有其他帖子可以参考的 回复 kider 的帖子
我改了还是不行,高手能否帮我写一个。我的程序是先创建一张表,然后用随机方法往表里填充数据。不甚感激~~ 改成什么样了? 回复 kider 的帖子
把所有 go 换成了分号而且很奇怪,MySQL每一条独立语句要加一个分号,但是我每加一个分号就有一个报错 需要转换很多:
http://www.mysqlpub.com/forum.php?mod=forumdisplay&fid=30
页:
[1]