自整数据库安全复习笔记(Microsoft SQL Server)

本文总结了SQL Server中常见的错误及其解决方法,包括列数不匹配问题的解决、阻止保存表更改选项的取消、字段约束添加、视图更新限制及唯一索引创建等问题。通过实例和代码演示了解如何解决这些问题。
该文章已生成可运行项目,

Microsoft SQL Server报错笔记

1、问题描述:SQL Sever 列名或所提供值的数目与表定义不匹配问题解决

      问题分析:insert语句没指定列时,默认插入全部列,但是插入的列数量和表格列数量不一致,导致了报错。

       问题解决:在insert的表格后面括号内补充添加的列

insert into Stu_Aver(sno,sname)
select sno,sname
from student

      问题解决: 

2、问题描述:不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的表进行了更改或者启用了“阻止保存要求重新创建表的更改”选项。

      问题解决:点击工具->选项

点击设计器->表设计器和数据库设计器,可以看到默认是勾选了阻止保存要求重新创建表的更改

 取消勾选之后,重新进行保存表的更改,可以看到保存成功了,如下图

 

 3、问题描述:为字段添加约束条件,如:为SC基本表中的Score字段添加约束,取值范围为0—100 

alter table SC
add constrant tinyint  check(Score between 1 and 100)

       

  问题解决:暂无

4、问题描述:

题目:修改V_S_Score视图,查询选修“数据结构”课程的学生学号、姓名、课程名和成绩。并用SELECT命令查询验证视图内容。

使用的代码:

update V_S_Score
set 学号=s.sno,姓名=sname,课程名=cname,成绩=score
from student s,sc,course
where s.sno=sc.sno and cname='数据结构'

报错:视图或函数 'V_S_Score' 不可更新,因为修改会影响多个基表。

问题解决:

alter view V_S_Score
as select s.sno,sname,cname,score
from student s,sc,course
where s.sno=sc.sno and cname='数据结构';

select * 
from V_S_Score

 update--修改数据

alter--修改字段

5、问题描述:

题目:为Course表创建名为IX_Cname的按课程名升序的唯一索引

     问题解决:修改course表中Cname的类型中MAX改为一个小的数字,如30,即varchar(30),即可,因长文本不宜建索引

原来的cname数据类型是nvarchar(max)

 改成

 再运行代码就可以实现啦

create unique index IX_Cname on course(cname)

本文章已经生成可运行项目
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值