首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

t-sql if exists begin end 报错,该怎么处理

2013-10-31 
t-sql if exists begin end 报错use mastergoif exists(select * from sysdatabases where namettt)beg

t-sql if exists begin end 报错
use master     
go
if exists(select * from sysdatabases where name='ttt')  
begin
print '已经存在'
end
else
begin
    use master
    go
create database ttt
go
use ttt
if exists(select * from sysobjects where name='T_News' and xtype ='U') 
begin
   print '该表已经存在'    
end
else
begin
create table  T_News (
 ID int not null ,
Title varchar(50) not null,
passwd varchar not null
    ) 
end
end


////////
消息 102,级别 15,状态 1,第 7 行
'master' 附近有语法错误。
消息 102,级别 15,状态 1,第 14 行
'end' 附近有语法错误。

[解决办法]
begin 和 end 之间不能用go执行语句
[解决办法]


  if exists(select * from sys.databases where name='ttt') 
    print '数据库已经存在'
  else
    create database ttt
  go
  use ttt
  go
  if exists(select * from sys.objects where name='T_News' and type ='U') 
    print '该表已经存在于ttt数据库'     
  else
    create table T_News(ID int not null,Title varchar(50) not null,passwd varchar not null) 
  go
  

[解决办法]
我个人比较偏向这种,可以运行的,不存在才创建,可以反复运行
use master     
go
IF db_id('ttt')IS  NULL
CREATE DATABASE ttt
go
USE ttt
go
IF OBJECT_ID('T_News','u')IS  NULL
CREATE TABLE T_News
(
 ID int not null ,
Title varchar(50) not null,
passwd varchar not null
    ) 

热点排行