SQL SERVER2008脚本运行所遇问题及解决方法
Q1、CASCADE附近有语法错误
A1:SQL SERVER没有cascade或者RESTRICt这一项,直接用drop
Q2:怎样以交互式方式编写SQL脚本文件
Q3:SQL 语言分大小写吗
A3:分的情况“UNIQUE
Q4:执行时显示“xx语句必须是首行“;
A4:在上一段命令后输入go,再执行
--截止到5/7
Q5:重命名索引时出错,代码:alter index sno rename to SSno
A5:SQL SERVER 2008没有此类语法,修改程序为:sp_rename '<被修改索引名>' ,'<修改后索引名>';
A6:SQL SERVER 2008 用drop关键词删除索引,索引前必须加文件名,如 drop index Student.Sno;
Q7:向表内插入语句时,显示“INSERT 语句与 FOREIGN KEY 约束"XXX"冲突。该冲突发生于数据库"XXX",表"XXX", column 'XXX"。
A7:A表中A1列是B表中的外键,然而在A表中插入数据C,数据C的A1列并不在现在的B表中存在,这便是与外键约束发生。详细原理:https://blog.csdn.net/chenxiaochan/article/details/43730769
A8:可以不存在的列,查询结果是查询语句中的列名。
A9:SQL SERVER2008 通过指定别名来改变插叙结果的列标题用 select as 语句
https://zhidao.baidu.com/question/535642525.html
A10:sql server 不分大小写,列名、列值、表名、关键字等等通通不分
Q11:查询语句时,显示列名无效
A11:原因:修改表结构后,SQL Server的intellisense(智能感知功能)需要重新整理一下,解决方法:数据库企业管理器——编辑——intellisence——清楚缓存
不懂:并没有修改设计表结构,或者说什么是修改设计表结构
A12:SQL SERVER2008好像默认进行外链接(为空值的数据也显示)
Q12:红色波浪形怎么去除(A11不能消除红色波浪线)
A13:where语句不能用聚集函数作为条件表达式的,where子句作用与基本表或图,从中选择满足条件的元组。having短语作用于组,从中选择满足条件的组。
A14:一句话解释相关子查询:子查询语句中含有父查询语句中的表【from语句中】
A15:SQL SERVER2008建立新表设定各列时,各列间要用逗号连接,如create table dept_age(Sdept char(15),avg_age SMALLINT);
--截止到5/8
Q16:多层(三层)相关子查询数据传送
查询选修了全部课程的学生姓名
select sname from Student where not exists(select * from Course where not exists(select* from SC where Sno=student.Sno and Cno =course.Cno));
每次传送的数据是第一层(最外层)中的一个学生,第二层的所有课程传送给最内层吗
A17:group by 聚集函数和having 在一起,不能和where在一起用
A18:为防止用户通过试图对数据进行增加、删除、修改时,有意无意地对不属于视图范围内的基本表数据进行操作,可在定义视图时加上 WITH CHECK OPTION子句。这样在仕途上增、删、改数据时,关系数据库关系系统会检查视图定义中的条件,若不满足条件则拒绝执行该操作。
--截止到5/9
--5月10号画第三章思维导图
A19.日期操作函数,只有oracle有