首页 新闻 赞助 找找看

两个数据库中同样的存储过程,在一个里面写就没问题,在另一个里面写就不行,为什么?

0
悬赏园豆:10 [已解决问题] 解决于 2009-06-01 23:45

在sql server 2005中我创建了两个数据库,

在一个数据库中我新建一个存储过程

CREATE PROCEDURE Pr_GetFile

AS

select * from File order by FileID
 (File是我在这个数据库中已经创建的一个表)

在另一个数据库中我也新建这样一个存储过程

CREATE PROCEDURE Pr_GetVote

AS

select * from Votes order by FileID

(Votes是我在这个数据库中已经创建的一个表)

------------------------------------

在我新建了第一个以后,再建第二个保存的时候,弹出提示“关键字'Votes'附近有语法错误”

这哪有语法错误啊????

如果给Votes加上“[ ]”,写成[Votes]就可以了,哪位高手能告诉下我为什么啊?

疯了快!

 

问题补充: 一楼说的那个GO是放在哪啊?这两个存储过程不是在一个数据库里的呀,可以解释下为什么第一个就没问题,第二个就不行吗?
¤godmy的主页 ¤godmy | 初学一级 | 园豆:115
提问于:2009-05-21 22:45
< >
分享
最佳答案
0

第一种可能,Votes 是 SQL 中的关键字,所以需要加 [] 指明非关键字(MySql中为``)。刚 google 了一把,但好像没有类似说明。

第二种可能,Votes 在别处被定义为了数据库 存储过程名 或 函数名,所以造成在这里识别为“用户关键字”(?)。这个就需要你自己查了。

第三种可能,我还没想到……

陛下 | 老鸟四级 |园豆:3938 | 2009-05-22 09:47
其他回答(1)
0

Votes-->改成[Votes]是一个好习惯

二个存储过程之间,有没有用go隔开啊

月光小提琴 | 园豆:44 (初学一级) | 2009-05-21 23:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册