“提示:在关键字 'END' 附近有语法错误”??

Sco_field 2007-09-13 07:33:33
代码目的:
若数据库bbsDB已存在则打开bbsDB数据库,若不存在则创建bbsDB数据库。

在分析器里输入如下内容:
USE master
IF EXISTS (Select * FROM sysdatabases Where NAME='bbsDB')
BEGIN
END --提示:在关键字 'END' 附近有语法错误。

ELSE
BEGIN
Create DATABASE bbsDB --若数据库不存在则创建数据库
ON
(
NAME='bbsDB_data',
FILENAME='D:\data\bbsDB_data.mdf',
SIZE=10,
FILEGROWTH=20%
)
LOG ON
(
NAME='bbsDB_log',
FILENAME='D:\data\bbsDB_log.ldf',
SIZE=1,
FILEGROWTH=10%,
MAXSIZE=20
)
END

不知道为什么会提示说在关键字 'END' 附近有语法错误呢?难道if else不是这么用的吗?还是begin end的问题呢?纯纯的新手,谢谢!
...全文
1323 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxmcxm 2007-09-13
  • 打赏
  • 举报
回复
不能有空的
begin
end
Sco_field 2007-09-13
  • 打赏
  • 举报
回复
谢谢楼上的几位朋友。
还有个问题也想请教下,如果我想将数据库的路径改为当前项目的文件夹下,但项目所在的文件夹位置不确定,那该怎么写路径呢?
比如本来路径是:FILENAME='D:\data\bbsDB_log.ldf',
我试过这样写:FILENAME='...\data\bbsDB_log.ldf',但不行
不知道该怎么写呢?
(VC++6.0环境)谢谢!
Limpire 2007-09-13
  • 打赏
  • 举报
回复
--这样就行了,IF不一定需要ELSE。
IF NOT EXISTS (Select * FROM sysdatabases Where NAME='bbsDB')
/*
--或者
IF DB_ID('bbsDB') IS NULL
*/
BEGIN
Create DATABASE bbsDB --若数据库不存在则创建数据库
ON
(
NAME='bbsDB_data',
FILENAME='D:\data\bbsDB_data.mdf',
SIZE=10,
FILEGROWTH=20%
)
LOG ON
(
NAME='bbsDB_log',
FILENAME='D:\data\bbsDB_log.ldf',
SIZE=1,
FILEGROWTH=10%,
MAXSIZE=20
)
END
hb_gx 2007-09-13
  • 打赏
  • 举报
回复
USE master
IF NOT EXISTS (Select * FROM sysdatabases Where NAME='bbsDB')
BEGIN
Create DATABASE bbsDB --若数据库不存在则创建数据库
...
END
Limpire 2007-09-13
  • 打赏
  • 举报
回复
IF EXISTS (Select * FROM sysdatabases Where NAME='bbsDB')
BEGIN
print ''--里面必须有一条或以上语句
END

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧