SQL server 笔记8

---分页查询
select top 2 *from student where sno not in (select top 2 sno from student) 
--not in() 屏蔽掉前两行 在此基础上再取前两行
--分页的存储过程   --直接用输入参数当作表名和列名,无法被识别,先用'++'拼接成字符串,然后用exec去执行,exec依然会把这个字符串当作语句执行
create proc fenye1
@nowye int ,--当前页
@number int,--显示行数
@tablename varchar(50),--表名
@zhujian varchar(50)--主键名
as
exec ( 'select top ('+@number+') *from '+@tablename+' where '+@zhujian+' not in(select top (('+@nowye+'-1)*'+@number+') '+@zhujian+' from '+@tablename+')')
go
exec fenye1 2,1,'student','sno'

---约束:对列的数据值起一个约束的作用,规定列的值的范围
--主键,外键,非空,自增长表示列,唯一列,check约束
--check约束,找到表,右键设计--选择列,右键check约束--添加--表达式(表达式必须以列名开头)

---存储过程累加求和
create proc leijiaqiuhe
@a int --输入参数
as
    declare @b int --声明变量
    declare @i int--声明变量
    set @i=1 --赋初始值
    set @b=0 --赋初始值
    while @i<=@a --while循环条件
    begin
        set @b=@b+@i 
        set @i=@i+1 --i++
    end
    return @b
go
declare @c int
exec @c=leijiaqiuhe 10
print @c


-------备份还原 --右键数据库---任务
--备份:在不影响数据库正常运行的情况下,将数据备份到一个.bak结尾的文件夹
--还原:将bak文件还原到数据库

-----分离、附加
--分离:将数据库与数据库服务进行分离
--附加:将数据库mdf文件,附加到数据库服务上
-----视图:虚拟的表
--create view view_1
--as

--go
--相当于把一段查询语句起了一个别名--视图,当作一个虚拟的表
--子查询,将子查询查询出的结果集,当作虚拟的临时表来使用  (子查询语句)as + 别名

 

 

 

posted @ 2015-04-28 19:06  九省巡按  阅读(135)  评论(0编辑  收藏  举报