zoukankan      html  css  js  c++  java
  • SQL纯手写创建数据库到表内内容

    建表啥的只点点鼠标,太外行了,不如来看看我的纯手写,让表从无到有一系列;还有存储过程临时表,不间断的重排序;

    一:建数据库

    1create Database Show

    2 on 

     3  primary
     4 (
     5     name= Show_data ,
     6     filename= 'C:Program FilesMicrosoft SQL ServerMSSQL11.SQLEXPRESSMSSQLDATAShow.mdf' ,
     7     size=10MB,
     8     maxsize=UNLIMITED,
     9     filegrowth=10%
    10      
    11 )
    12 log on
    13 (
    14   name=Show_log,
    15   filename='C:Program FilesMicrosoft SQL ServerMSSQL11.SQLEXPRESSMSSQLDATAShow_log .ldf' ,
    16     size=10MB,
    17     maxsize=UNLIMITED,
    18     filegrowth=10%
    19 )

    二:建表

    建表

    三:建外键

    建外键

    四:添加表数据

    插入表数据

    五:删除数据库、表、外键、存储过程

     1 drop database Show;      --删除数据库
     2 
     3 drop table T_user;      
     4 drop table T_proMain;
     5 drop table T_proType;
     6 drop table T_proImg;       --删除表
     7 
     8 alter table T_proMain drop constraint fk_typeID 
     9 alter table T_proMain drop constraint fk_UID 
    10 alter table T_proImg drop constraint fk_proID   --删除外键约束
    11 
    12 drop  proc proc_getPic   --删除存储过程
    删除数据库、表、外键、存储过程

    六:建存储过程

     1  create proc proc_getproM  (
     2     @Index int,
     3     @Size int
     4 )
     5 as
     6 begin
     7    declare @ta table 
     8    (
     9         [proID] [int]
    10    )
    11    insert into @ta(proID) select proID from  (SELECT ROW_NUMBER() over ( order by CTR desc) as id ,* from T_proMain )a where id between @Index and @Size
    12    declare @a int , @b  varchar(100)
    13    declare @tc table
    14    (
    15         [proID] int,
    16         [proExp] varchar(200),
    17         [UName] varchar(20),
    18         [UrlName] varchar(max) 
    19     )
    20     
    21    while exists(select [proID] from @ta)
    22        begin
    23     --         select * from @ta;
    24              select top 1 @a=[proID] from @ta;
    25              declare @c int
    26              select   @c =proID  from T_proMain where proID=@a ;       --proID
    27               
    28              declare @e varchar(200)
    29              select @e=proExp  from T_proMain where proID=@a ;    --proExp 第一张的 项目名
    30              
    31              
    32              declare @d varchar(20),@l int;
    33              select @l=UID  from T_proMain where proID=@a ;
    34              select @d=UName from T_user where UID=@l;             --UName 也就是作者名
    35              declare @tb table
    36             (
    37                 [imgURL]  varchar(100)
    38             )
    39             
    40              insert into @tb (imgURL) select imgURL from   T_proImg  where proID=@a;
    41     --         select * from @tb
    42            declare @g varchar(max);
    43            set @g='';
    44             while exists(select [imgURL] from @tb)
    45                 begin
    46                     select top 1 @b=[imgURL] from @tb;
    47                     declare @f varchar(100)
    48                     
    49                     select @f=imgURL   from T_proImg where imgURL=@b ;  --imgURL 第一张的图片地址
    50                     set @g+=@f;
    51                     set @g+='#';
    52                     print @f;
    53                     declare @h varchar(200)
    54                     select @h=imgName   from T_proImg where imgURL=@b ;  --imgName 第一张的图片地址
    55                     print @h;
    56                     declare @o bit
    57                     select @o=ISDefault from T_proImg where imgURL=@b ;
    58                     set @g+=@h;
    59                     set @g+='#';
    60                         declare @n bit,@p varchar(2)
    61                     set @n=1;
    62                     if   @o=@n
    63                         begin
    64                           set @p='1'
    65                         end
    66                     else
    67                         begin
    68                             set @p='0'
    69                         end
    70                     set @g+=@p;
    71                     set @g+='*';
    72                     print @g;
    73                     delete from @tb where [imgURL] = @b;
    74                 end
    75              
    76             insert into @tc  values(@c,@e,@d,@g); 
    77             delete from @tb;
    78             delete from @ta where [proID]=@a;
    79        end
    80        select * from @tc;
    81   end 
    建存储过程:动态取出另一张ID连续等于第几条到第几条,在这张表的数据
     1 create proc proc_getPic  (
     2     @Index int,
     3     @Size int
     4 )
     5 as
     6 begin
     7    declare @ta table 
     8    (
     9         [ID] [int]
    10    )
    11    insert into @ta(ID) select ID from  (SELECT ROW_NUMBER() over ( order by ID desc) as id   from  T_Pic )aa where ID between @Index and @Size
    12    declare @a int , @b  varchar(100)
    13    declare @tc table
    14    (
    15         [ID] int,
    16         [Pic] varchar(50),
    17         [PicName] varchar(20),
    18         [PicAuthor] varchar(20) 
    19     )
    20     
    21    while exists(select [ID] from @ta)
    22        begin
    23     --         select * from @ta;
    24              select top 1 @a=[ID] from @ta;
    25              declare @c int
    26              select   @c =ID  from T_Pic where  ID=@a ;       --proID
    27               
    28              declare @e varchar(50)
    29              select @e=Pic  from T_Pic where ID=@a ;    --proExp 第一张的 项目名
    30              
    31              
    32              declare @d varchar(20),@l varchar(20);
    33              select @l=PicName  from T_Pic where  ID=@a ;
    34              select @d=PicAuthor from T_Pic where ID=@a;             --UName 也就是作者名
    35          
    36             insert into @tc  values(@c,@e,@l,@d); 
    37              
    38             delete from @ta where [ID]=@a;
    39        end
    40        select * from @tc;
    41   end 
    42   exec  proc_getPic   1,10  
    动态取出表的连续的第几条到第几条数据

    希望能帮到有需要的人;

          --一个快乐的码农!

  • 相关阅读:
    js面试题-----页面布局
    js面试题-----原型和原型链
    js面试题-----运行环境
    js面试题-----开发环境
    js面试题-----事件及ajax
    js面试题-----DOM操作和BOM操作
    js面试题-----异步和单线程及其他知识点
    js面试题-----作用域与闭包
    js面试题-----变量类型和计算
    js学习总结----webapp之使用less构建响应式布局
  • 原文地址:https://www.cnblogs.com/woloveprogram/p/4565319.html
Copyright © 2011-2022 走看看