Запрос для создания новой таблицы в конкретной базе данных в SQL?
У меня есть 3 базы данных sytemdatabases
, smoketest
и learnqueries
.
Каждый раз, когда я пишу и выполняю запрос create table (create table tablename (colname datatype(size)))
, в systemdatabases
создается новая таблица.
Мне нужно, чтобы он был создан для smoketest базы данных.
Я попробовал этот запрос (create table smoketest.newtablename(number int,name varchar(50));
It is showing an error (Msg 2760, Level 16, State 1, Line 1
Указанное имя схемы "smoketest" либо не существует, либо у вас нет разрешения на его использование.) Когда я его выполнил.
В нем говорится о 2 шансах
- База данных не существует - но база данных существует
- Не имеет разрешения - что это значит - как установить разрешение на создание
новая таблица для конкретной базы данных
Справка Pls
Ответы
Ответ 1
4-х точечная нотация в Sql Server для таблиц
Server.Database.Schema.Object
Таким образом, вам нужно будет создать таблицу с не менее чем тремя частями, если smoketest
не является текущей базой данных вашего соединения, например. если вы находитесь на master
и считаете, что хотите новую таблицу в схеме dbo
:
create table smoketest.dbo.Tablename(ID INT)
Альтернативно, переключитесь в базу данных smoketest
и создайте таблицу с 1 или 2 наименованием частей:
use smoketest
GO
create table dbo.Tablename(ID INT)
GO
Ответ 2
USE smoketest
GO
create table newtablename(number int,name varchar(50));
Если у вас есть проблема с правами доступа, ознакомьтесь с этим SQL Server 2008: как я могу предоставить привилегии для имени пользователя?
Надеюсь, что это поможет.