【问题标题】:Could not locate entry in sysdatabases for database无法在 sysdatabases 中找到数据库的条目
【发布时间】:2019-06-17 17:15:37
【问题描述】:

我需要这段代码在教授按下 F5 按钮的那一刻运行。

我创建了一个数据库,但 USE 语句有问题

SQL 只是不能切换到 USE 语句正在调用的数据库。它是这样说的:

无法在 sysdatabases 中找到数据库的条目

我尝试使用方括号 ([]),但没有帮助。
该项目是关于汽车服务及其学校项目。 我只需要运行该 USE 语句或其他一些解决方案,这样代码就可以毫无错误地运行,并且只需单击 F5

USE master;  
IF DB_ID('ServisAutomobila') IS NOT NULL  
DROP DATABASE ServisAutomobila; 
GO

CREATE DATABASE ServisAutomobila;

USE ServisAutomobila

go

CREATE TABLE Automobil 
(
    Automobil_ID int identity (1,1) not null,
    Model nvarchar (50) not null,
    GodinaProizvodnje nvarchar(50) not null,
    RegistarskiBroj nvarchar (50) unique not null,
    BrojMotora nvarchar (50) unique not null,
    BrojSasije nvarchar (50) unique not null,
    Kvar nvarchar (250) not null,
    TipAutomobila_ID int not null,
    Zemlja_ID int not null,
    Vlasnik_ID int not null
)

CREATE TABLE Zemlja
(
    Zemlja_ID int identity (1,1) not null,
    Zemlja nvarchar (50) not null
)

【问题讨论】:

标签: mysql sql sql-server tsql


【解决方案1】:

GO 关键字是批处理终止符。所以在你的例子中:

CREATE DATABASE ServisAutomobila;

USE ServisAutomobila

go

批处理作为一个执行并导致该特定错误,因为数据库引擎尝试使用尚不存在的数据库 ServisAutomobila。这意味着您必须添加之前 cmets 中建议的额外 GO,然后才能使用新创建的数据库:

CREATE DATABASE ServisAutomobila;
GO;
USE ServisAutomobila;
GO;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    • 2023-03-03
    • 1970-01-01
    相关资源
    最近更新 更多