无法执行SQL查询错误:消息2714,级别16,状态6,行2数据库中已存在名为“Emp”的对象

时间:2017-07-13 00:37:06

标签: sql-server

enter image description here

use mydatabase 
create table Emp(EmpNo int primary key,EmpName varchar(max),Salary money)
select * from Emp
insert into Emp values(111,'rama',1000)

无法执行SQL查询错误:消息2714,级别16,状态6,行2数据库中已存在名为“Emp”的对象。

3 个答案:

答案 0 :(得分:2)

create table语句引发错误,因为您无法在数据库中创建具有相同名称的两个表。

如果要在代码块中保留create table语句,请尝试使用以下代码。

IF NOT EXISTS(SELECT 1 FROM sys.tables WHERE name = 'Emp') 
BEGIN
    CREATE TABLE Emp(
        EmpNo int primary key,
        EmpName varchar(max),
        Salary money)
END

如果表格尚不存在,则上述代码块将创建该表格。 如果您希望每次查询运行时都创建新表,那么您可以清空表并更新其结构,使用下面的代码。

IF EXISTS(SELECT 1 FROM sys.tables WHERE name = 'Emp') DROP TABLE Emp

CREATE TABLE Emp(
        EmpNo int primary key,
        EmpName varchar(max),
        Salary money)

答案 1 :(得分:0)

看起来Emp表可能已经存在,可能是由于之前创建的。如果它已经存在,您可以尝试删除它:

IF OBJECT_ID('dbo.Emp', 'U') IS NOT NULL 
DROP TABLE dbo.Emp;

然后像你一样继续:

CREATE TABLE Emp(EmpNo int primary key, EmpName varchar(max), Salary money)
SELECT * FROM Emp
INSERT INTO Emp VALUES (111, 'rama', 1000)

答案 2 :(得分:0)

这很简单

  1. 首先,请单击您创建的数据库名称示例,如果您创建的数据库的名称为“账单付款”,然后单击“账单付款”;

  2. 然后是可编程性;

  3. ,然后按一下存储过程;

  4. 然后按上面的“新查询”。