SQL не создает таблицы (обновление и перезапуск не помогли)

#sql #sql-server #ddl

#sql #sql-сервер #ddl

Вопрос:

Контекст

Я пытаюсь создать несколько таблиц с помощью команд SQL. После выполнения Create команд я не получаю визуальной обратной связи в Microsoft SQL Server Management Studio. Другими словами: я не вижу никаких записей таблицы в моей базе данных. Когда я создаю базу данных в том же файле SQL, она создается без проблем.

Инструкции SQL

 DROP DATABASE IF EXISTS CheckSum;
CREATE DATABASE CheckSum;

DROP TABLE IF EXISTS Translation;
CREATE TABLE Translation (
    ID int NOT NULL IDENTITY(1,1),
    LanguageName varchar(50),

    PRIMARY KEY (ID)
);

DROP TABLE IF EXISTS NationalBank;
CREATE TABLE NationalBank (
    ID int NOT NULL IDENTITY(1,1),
    Abbreviation varchar(1),
    NationalBankName varchar(100),
    CountryAbbreviation varchar(1),

    PRIMARY KEY (ID)
);

DROP TABLE IF EXISTS Country;
CREATE TABLE Country (
    CountryID int NOT NULL,
    LanguageID int,
    CountryName varchar(100),
    Abbreviation varchar(1),

    PRIMARY KEY (CountryID)
);

DROP TABLE IF EXISTS Code;
CREATE TABLE Code (
    Code int NOT NULL,
    LanguageID int,
    CodeMessage varchar(255),

    PRIMARY KEY (Code, LanguageID)
);


INSERT INTO Translation (LanguageName) VALUES ('Deutsch');
INSERT INTO Translation (LanguageName) VALUES ('English');


INSERT INTO COUNTRY (CountryID, LanguageID, CountryName, Abbreviation) VALUES (1, 1, 'Großbritannien', 'j');
INSERT INTO COUNTRY (CountryID, LanguageID, CountryName, Abbreviation) VALUES (2, 1, 'Österreich', 'n');
INSERT INTO COUNTRY (CountryID, LanguageID, CountryName, Abbreviation) VALUES (3, 1, 'Irland', 't');
INSERT INTO COUNTRY (CountryID, LanguageID, CountryName, Abbreviation) VALUES (4, 1, 'Deutschland', 'x');
INSERT INTO COUNTRY (CountryID, LanguageID, CountryName, Abbreviation) VALUES (5, 1, 'Schweden', 'k');
INSERT INTO COUNTRY (CountryID, LanguageID, CountryName, Abbreviation) VALUES (6, 1, 'Niederlande', 'p');
INSERT INTO COUNTRY (CountryID, LanguageID, CountryName, Abbreviation) VALUES (7, 1, 'Frankreich', 'u');
INSERT INTO COUNTRY (CountryID, LanguageID, CountryName, Abbreviation) VALUES (8, 1, 'Griechenland', 'y');
/* ... */
 

MSSM не показывает таблицы

Дополнительная информация

  • Когда я удаляю DROP TABLE IF EXISTS и перезапускаю его. Я получаю сообщение об ошибке There is already an object named 'Translation' in the database.
  • Обновление и перезапуск не помогли. У меня эта проблема уже около двух недель.
  • Я пытаюсь перенести эти таблицы в C # Entity Framework, но графический интерфейс там тоже не показывает мне таблицы.
  • Создание таблиц с помощью графического интерфейса MSSMS работает.

Я был бы очень признателен за совет о том, как решить эту проблему. У меня, конечно, нет большого опыта работы с SQL 🙂

Комментарии:

1. Если вы создаете базу данных, вы не сразу подключаетесь к ней. Таким образом, вы, вероятно, создаете эти таблицы в master (или в любой другой базе данных, к которой вы были подключены). Измените свой скрипт на USE CheckSum after создание базы данных.

2. Большое спасибо! Я щелкнул правой кнопкой мыши по базе данных и выбрал New Query . Таким образом, он автоматически подключился к нужной мне базе данных. Теперь это работает! Редактировать: USE работает одинаково хорошо

3. На панели инструментов также есть выпадающий список для выбора базы данных, в которой выполняется запрос. Вы не ограничены только открытием окна запроса из базы данных.