SQL server 实验出错记录

SQL server 实验报错及解决

本博客仅作为学习记录

1. 删除模式的时候报错

 Cannot drop schema 'tpch' 
 because it is being referenced by object 
 'PK__students__3214EC27859AD395'.
`

如果在该模式下建立了表格或视图等,应该先删除这些表、视图,然后才能删除此模式。

2. 如果是组合外键(多对多)

foreign key (partkey,suppkey) references 
tpch.partsupp(partkey,suppkey)

需要将两个列名对应上主键的两个列名,不能分开

3.想修改表列的属性,没有权限

SQL server 实验出错记录

在菜单栏(左上角)选择–》工具–》选项,找到设计器和数据库设计器把阻止保存要求重新创建表的更改取消

SQL server 实验出错记录

4.产生派生表的时候报错
SQL server 实验出错记录

派生关系必须要有别名,需要在最后加上 as ‘派生表的别名’

5. 执行update子查询报错

子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、 >、 >= 之后,或子查询作表达式时,这种情况是不允许的。

SQL server 实验出错记录

添加过滤条件,使子查询只返回一条结果

6.仅当使用了列的列表,并且IDENTITY_INSERT为ON时,才能在表’'中为标识列指定显式值
SQL server 实验出错记录

首先设置IDENTITY_INSERT为ON
SET IDENTITY_INSERT stu ON;
再将列名一个个列出
insert into tpch.part(part.name,part.mfgr,part.brand,part.container,part.retailprice,part.size,part.type) select
part.name,part.mfgr,part.brand,part.container,part.retailprice,part.size,part.type from tpch.part;

并且要设定为IDENTITY的列为规定的类型 int,bigint,tinyint 等等

SQL server 实验出错记录

其他错误


exists 前面不能跟过滤条件,select后面只能跟一个表 把要用的表分在不同的层次中,将所有的过滤条件放在最后一条exists里面


union查询必须包含相同的列、表达式或聚集函数,列的数据必须兼容

上一篇:任务47:Identity MVC:ReturnUrl实现


下一篇:IDENTITY & SEQUENCE