成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > SQL Server 2005基礎(chǔ)知識(shí)詳細(xì)整理

SQL Server 2005基礎(chǔ)知識(shí)詳細(xì)整理

熱門標(biāo)簽:九鹿林外呼系統(tǒng)怎么收費(fèi) 創(chuàng)業(yè)電銷機(jī)器人 滄州營(yíng)銷外呼系統(tǒng)軟件 浙江地圖標(biāo)注 電銷機(jī)器人虛擬號(hào)碼 沈陽(yáng)智能外呼系統(tǒng)代理 舞鋼市地圖標(biāo)注app 松原導(dǎo)航地圖標(biāo)注 海南自動(dòng)外呼系統(tǒng)價(jià)格

1. ACID:指數(shù)據(jù)庫(kù)事務(wù)正確執(zhí)行的四個(gè)基本要素縮寫(xiě):
1.原子性2.一致性3.隔離性4.持久性

2.數(shù)據(jù)庫(kù)對(duì)象:表(table) 視圖(view) 存儲(chǔ)過(guò)程(stored procedure) 函數(shù)(function)索引(index)

3.SQL Server 2005中包含master、model、msdb、tempdb四個(gè)系統(tǒng)數(shù)據(jù)庫(kù)。

4.使用T-SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù):
CREATE DATABASE [ApressFinacial] ON  PRIMARY
( NAME = N'ApressFinacial', FILENAME = N'I:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\ApressFinacial.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB )
LOG ON
( NAME = N'ApressFinacial_log', FILENAME = N'I:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\ApressFinacial_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)

5.T-SQL語(yǔ)句刪除數(shù)據(jù)庫(kù):drop database[數(shù)據(jù)庫(kù)名]

6.常見(jiàn)的約束類型:主鍵約束、唯一約束、檢查約束、默認(rèn)約束、外鍵約束。

7.添加約束的語(yǔ)法:
         Alter table 表名
         Add  constraint  約束名 約束類型 具體的約束說(shuō)明

8.刪除約束:alter table 表名
            Drop constraint 約束名

9.授權(quán)語(yǔ)法:  grant 權(quán)限[on  表名] to 數(shù)據(jù)庫(kù)用戶
         例:grant  select  insert  update
              On students  to  zhangsan

10.T-SQL語(yǔ)句創(chuàng)建登錄名:
           Create  login[yuan]
            With  password='130125'
            Go

11.數(shù)據(jù)庫(kù)完整性分為:實(shí)體完整性、域完整性、參照完整性、用戶自定義完整性。

12.T-SQL 中的運(yùn)算符:
運(yùn)算符
 含義

=
 等于

>
 大于


 小于

>=
 大于等于

=
 小于等于

>
 不等于

!
 非

通配符
 解釋
 示例

_
 一個(gè)字符
 A Like 'C_'

%
 任意長(zhǎng)度的字符
 B Like 'CO_%'

[]
 括號(hào)中所指定范圍內(nèi)的一個(gè)字符
 C Like '9W0[1-2]'

[^]
 不在括號(hào)中所指定范圍內(nèi)的一個(gè)字符
 D Like '%[A-Z][^1-2]'

13.查詢語(yǔ)句:select 列名  from 表名  where 條件   如:select*  from students  where       no=1

14.插入數(shù)據(jù)行:insert  [into]表名> [列名]values值列表>
       例:intset into students(name,address,grade,email,sex)
           Values('長(zhǎng)青菜','上海松江',5,'zqc@souhu.com','男')
      注意:(不能為標(biāo)識(shí)列指定值,因?yàn)樗臄?shù)字是自動(dòng)增長(zhǎng)的)

15.更新數(shù)據(jù)行:update 表名> set列名=更新值>    [where更新條件>]
      例:update  students
          Set  address='石家莊'
          Where   address='保定'

16.刪除數(shù)據(jù)行:  delete  from表名>[where刪除條件>]
       例:delete from  studentinfo     where  no='180108225'

17.問(wèn)題:如果標(biāo)識(shí)列A的初始值為1,增長(zhǎng)量為2,則輸入三行數(shù)據(jù)以后,再刪除兩行,下次再輸入數(shù)據(jù)行的時(shí)候,標(biāo)識(shí)值從多少開(kāi)始?      (  7  )

18.刪除列: alter  table  student     drop  column  address

19.Exists:     if  exists (select*from?where  name='yuanDB')  drop  database stuDB

20.變量:   局部變量(必須以標(biāo)記@作為前綴)
            全局變量(必須以標(biāo)記@@作為前綴)
       全局變量由系統(tǒng)定義和維護(hù),我們只能讀取,不能修改全局變量的值。

21.局部變量聲明:  例:Decalre  @name  vachar(8)      decare @seat  int
   賦值:set @變量名=值或select@變量名=值  set @name='張三'
           Select @name=sname  from  students  where  no='1'

22.邏輯控制語(yǔ)句: IF-ELSE語(yǔ)句
            If(條件)
              Begin
              語(yǔ)句1
              語(yǔ)句2...........
              End
            Else
            Begin
            語(yǔ)句1
            語(yǔ)句2.........
            End        注:else是可選的。

例: decalre @myavg float
     Select @myavg =AVG(course) from score
     Print'平均分'+convert(varchar(5),@myavg)
     If(@myavg>70)
     Begin
     Print '本班成績(jī)優(yōu)秀,前三名成績(jī)?yōu)椋?
      Select  top 3 * from  score  order  by score  desc
      End
      Else
        Begin
        Print  '本班成績(jī)較差,后三名成績(jī)?yōu)椋?
        Select  top 3 *from  score  order  by  score
       End

23.while循環(huán)語(yǔ)句:   while(條件)
                     Begin
                     語(yǔ)句1
                     語(yǔ)句2..........
                     Break
                     End
       例:DECLARE @n int
           WHILE(1=1) --條件永遠(yuǎn)成立
           BEGIN
           SELECT @n=COUNT(*) FROM score
           WHERE score60    --統(tǒng)計(jì)不及格人數(shù)
           IF (@n>0)
           UPDATE score     --每人加2分
            SET score=score+2
          ELSE
          BREAK    --退出循環(huán)
          END
          print '加分后的成績(jī)?nèi)缦拢?
          SELECT * FROM score

24.case--end多分支語(yǔ)句
      語(yǔ)法:    case
                When  條件1  then  結(jié)果1
                When  條件2  then  結(jié)果2
                ..............
                 Else  其他結(jié)果
                 End
       例:print  'ABCDE五級(jí)顯示成績(jī)?nèi)缦拢?
           Select  studentID,
               成績(jī)=case
                        When  score60  then'E'
                        When   score  between  60  and  69  then 'D'
                        When   score  between  70  and  79  then 'C'
                         Else  'A'
                      End
                     From  score

25.批處理語(yǔ)句示例:
                   SELECT * FROM stuInfo
                   SELECT * FROM stuMarks
                   UPDATE stuMarks
                      SET writtenExam=writtenExam+2
                   GO

26.習(xí)題及答案:   
        習(xí)題內(nèi)容:則根據(jù)如下規(guī)則對(duì)成績(jī)進(jìn)行反復(fù)加分,直到平均分超過(guò)85分為止。請(qǐng)編寫(xiě)T-SQL語(yǔ)句實(shí)現(xiàn)。
90分以上:   不加分
80-89分:   加1分
70-79分:   加2分
60-69分:   加3分
60分以下:   加5分
習(xí)題答案:
SELECT * FROM score --原始成績(jī)
DECLARE @labAvg  int
WHILE(1=1)
 BEGIN
    UPDATE score
      SET score=
        CASE
            WHEN score60 THEN score+5
            WHEN score between 60 AND 69 THEN score+3
            WHEN score between 70 AND 79 THEN score+2
            WHEN score between 80 AND 89 THEN score+1
            ELSE score
        END
     SELECT @labAvg=AVG(score) FROM score
       IF  @labAvg>=85
           BREAK
 END
SELECT * FROM score --加分后的成績(jī)

27.把一個(gè)表中的數(shù)據(jù)復(fù)制到另一個(gè)表中:  insert  into 表名>(列名)
                                       Select  列名>
                                       From 源表名>

28.把查詢結(jié)果放在新表中同時(shí)插入新的標(biāo)識(shí)列:
           Select  列名  identity(數(shù)據(jù)類型,標(biāo)識(shí)種子,標(biāo)識(shí)增長(zhǎng)量)as
            列名  into  新表    from  原始表
  例:   select   students.sname, students.saddress,  students.semail,  identity(int,1,1) as  studentID    into  tongxunlu    from students

29.更新數(shù)據(jù)行: 
      語(yǔ)法:  update表名>
              Set列名=更新值>
              Where 更新條件>
       例: update  students
             Set   address='軟件學(xué)校'
              Where  address='軟件學(xué)院'

30.問(wèn)題:按多列排序:例:select  no,name,address,grade
                   From   students
                   Where   sex  in(1,0)
                   Order by   no,grade

31.字符串函數(shù):
      Replace:    select  replace('莫勒可切.楊可','可',‘蘭')
          返回結(jié)果:莫勒蘭切.楊蘭
      Upper:    select  upper('sql server 課程')
       返回結(jié)果:SQL SERVER 課程
      Getdate:   select  getdate()獲取當(dāng)前時(shí)間。
       Dateadd:   select  dateadd(mm,4,'01/01/2009')
        返回結(jié)果:05/01/2009
      Datename:     select  datename(dw,'01/15/2000')
       返回結(jié)果:   Saturday

32.聚合函數(shù):
Max-min:     select  AVG(score) as  平均成績(jī),MAX(score) as 最高分,MIN(score) as最低分       from  score          where  score>=60
Count:    select  count(*)as  及格人數(shù)      from  score 
                      Where   score>=60

33. 分組查詢:

復(fù)制代碼 代碼如下:

select  courseid,avg(score) as 課程平均成績(jī)
                From  score
                Group  by  courseid

34.習(xí)題:  
假如成績(jī)單中記錄了學(xué)生的幾次考試成績(jī),要查詢每位學(xué)生的每門課的總成績(jī),怎么查?
復(fù)制代碼 代碼如下:

Select  courseid,studentid,sum(score) as 總成績(jī)
                From  score
                Group  by  courseid,studentid

35.分組查詢--HAVING
Having:指定了組或聚合的搜索條件,常常與group by子句一起使用。
例:
復(fù)制代碼 代碼如下:

select  studentid  as學(xué)員編號(hào),avg(score)as 平均成績(jī)
                  From   score
                  Group  by  studentid,couseid
                  Having  avg(score)>60

36.多表查詢——內(nèi)聯(lián)結(jié)    
例:
復(fù)制代碼 代碼如下:

select  students.smame, score.courseid, score.score
                              From  students,score
                              Where  students.scode=score.studentid

37.多表聯(lián)結(jié)——三表聯(lián)結(jié)    
例:
復(fù)制代碼 代碼如下:

select  S.name  as姓名,CS.coursename as課程,C.score as 成績(jī)                         from  students  As S
                                Inner Join score  as C  ON(S.scode=C.studentid)
                                Inner join  course  As CS  ON(CS.courseid=C.courseid)

38.多表聯(lián)結(jié)查詢——右外聯(lián)結(jié)  
例:
復(fù)制代碼 代碼如下:

select  titles.title_id,Titles.title,publishers.pub_name
               From  titles
               Right outer  join  publishers
               On  titles.pub_id=publishers.pub_id

39.銀行案例——多表聯(lián)結(jié)——左外聯(lián)結(jié):
 例:
 
復(fù)制代碼 代碼如下:

  intsert  into  account(account.Cardid,account.score)
                Select  users.cardid,2
                From users
                Left  Join account  ON(account.cardid=users.cardid)
                Where  account.cardid  is NULL
 

40.子查詢: 
例:
復(fù)制代碼 代碼如下:

select * from  students
                 Where  scode>(select  scode  from  students  where  Sname='張揚(yáng)') 
                 GO

41.例:內(nèi)聯(lián)結(jié)(等值聯(lián)結(jié))
復(fù)制代碼 代碼如下:

select  sname  from  students
                           Inner  Join  score
                           ON  students.scode=score.studentid
                           Where  score=60
      GO

42.局部變量:
例:將姓名為里斯的學(xué)生的學(xué)號(hào),出生日期和平均成績(jī)分別賦給局部變量
@no_str @birthday_str @avgrade_num  (用select語(yǔ)句來(lái)實(shí)現(xiàn))
復(fù)制代碼 代碼如下:

             Select  @no_str=s_no,@birthday_str=s_birthday,@avgrade_num=s_avgrade
              From student          where  s_name='里斯'

43.自連接查詢:    
例:(注:student2為不存在,是創(chuàng)建的)
復(fù)制代碼 代碼如下:

               Select  student2.sno學(xué)號(hào),student2.sname姓名,student2.ssex性別,student2.sspeciality專業(yè),student2.savgrade平均成績(jī)
               From student,student2
               Where  student.sname='李好' and student.sspeciality=student2.sspeciality

44.聲明局部變量:declare  @變量名  數(shù)據(jù)類型

45.if語(yǔ)句 例:查詢學(xué)號(hào)為457865的學(xué)生,如果成績(jī)及格,則打印其姓名和成績(jī)。

復(fù)制代碼 代碼如下:

         Declare @no,char(8),@name char(8),@avgrade numeric(3,1)
         Set @no='457865'
         Select @name=sname,@avgrade=savgrade
         From student
         Where sno=@no;
         If @avgrade>60.0
         Begin
         Print @name
         Print @avgrade
         End
         Go

46.if-else語(yǔ)句:對(duì)于給定學(xué)號(hào)的查詢,如果平均成績(jī)不及格則打印姓名和平均成績(jī),否則打印學(xué)號(hào)。
復(fù)制代碼 代碼如下:

          Declare @no char(8),@name char(8),@avgrade numeric(3,1);
          Set @no='567';
          Select @name=sname,@avgrade=savgrade
          From student
          Where  sno=@no;
          If @avgrade60.0
          Begin
          Print @name
          Print @avgrade
          End
          Else
          Print @no
          Go

47.多分支的if語(yǔ)句查詢并實(shí)現(xiàn)分等級(jí)打印學(xué)生成績(jī)
復(fù)制代碼 代碼如下:

          Declare @no char(8),@name char(8),@avgrade numeric(3,1);
          Set @no='567';
          Select @name=sname,@avgrade=savgrade
          From student
          Where  sno=@no;
          If @avgrade>=90.0
          Print ‘優(yōu)秀'
          Else if @avgrade>=80.0
          …………….
          Else print ‘不及格'
          Go

48.case 語(yǔ)句   使用select語(yǔ)句查詢學(xué)生的學(xué)號(hào),然后用case函數(shù)對(duì)學(xué)生的姓名和愛(ài)好進(jìn)行簡(jiǎn)要說(shuō)明。    Select  學(xué)號(hào)=sno,姓名及愛(ài)好=
              Case sno
              When ‘123' then ‘李好,游泳'
              。。。。。。。
              Else ‘沒(méi)有這人'
              End
              From  student

49.while語(yǔ)句
      (如果學(xué)生平均成績(jī)低于85分,則循環(huán)執(zhí)行對(duì)每位學(xué)生成績(jī)加0.5%,在循環(huán)過(guò)程中,如果最高成績(jī)超過(guò)95分則退出循環(huán);在加分過(guò)程中,當(dāng)成績(jī)的平均成績(jī)大于或等于80分時(shí)打印出當(dāng)前成績(jī)的平均成績(jī))

復(fù)制代碼 代碼如下:

     Declare @avgrade numeric(3,1);
            Set @avgrade=(select  avg(savgrade) from student)
            While @avgrade85
             Begin
                      Update student
                        Set savgrade=savgrade+savgrade*0.005
                      Set @avgrade=(select avg(savgrade) from student)
                      If @avgrade>95
                         Break                            --退出循環(huán)
                      if@avgrade80
                      continue                             --結(jié)束本次循環(huán)
                      print @avgrade
                      End

50.子查詢:查詢成績(jī)剛好通過(guò)60分的學(xué)生
              Select sname from students
                  Inner  Join  score                ---內(nèi)連接
                   ON students.scode=score.studentid
                   Where  score=60
                    Go

51.事務(wù)的特性:原子性、一致性、隔離性、永久性。
  事務(wù)分類:顯示事務(wù)、隱性事務(wù)、自動(dòng)提交事務(wù)。

52.系統(tǒng)存儲(chǔ)過(guò)程的名稱都以“sp_”開(kāi)頭或“xp_”開(kāi)頭。
        EXEC sp_databases     列出當(dāng)前系統(tǒng)的數(shù)據(jù)庫(kù)
        EXEC sp_help students  查看表students的信息

53.定義存儲(chǔ)過(guò)程的語(yǔ)法:  
             Create  proc[edure]  存儲(chǔ)過(guò)程名
              @參數(shù)1  數(shù)據(jù)類型=默認(rèn)值 output,
               ...................
              @參數(shù)n  數(shù)據(jù)類型=默認(rèn)值 output
              As
              SQL語(yǔ)句
              Go (注:參數(shù)可選,參數(shù)分輸入?yún)?shù)、輸出參數(shù),輸入?yún)?shù)允許有默認(rèn)值)

54.創(chuàng)建不帶參數(shù)的存儲(chǔ)過(guò)程:    
例:

復(fù)制代碼 代碼如下:

           Creat  procedure  pro_stu
           As
           Declare  @myAvg float
           Select  @myAvg=AVG(score)
           From score
           Print '平均分:'+convert(varchar(5),@myAvg)
           If(@myAvg>70)
              Print '本班考試成績(jī):優(yōu)秀'
            Else
               Print '本班考試成績(jī):較差'
            Print '-----------------------------------------------------------'
            Print '參加本次考試沒(méi)有通過(guò)的學(xué)員:'
               Select  name,scode,score
                   From students inner Join score  on
                   Students.scode=score.studentid     where  score60
     GO

55.調(diào)用存儲(chǔ)過(guò)程:   語(yǔ)法:   EXEC  過(guò)程名[參數(shù)]    例:EXEC proc_stu 

56.輸入?yún)?shù)的默認(rèn)值:    
例:

復(fù)制代碼 代碼如下:

         Create procedure  proc_stuMn
            @scorePass  int=60        ---及格線默認(rèn)為60分
         As
            Print '及格線:' +convert(varchar(5),@scorePass)
            Print '參加本次考試沒(méi)有通過(guò)的學(xué)員:'
          Select  name,scode,score
                From students
                Inner Join score
                On students.scode=score.studentid
                 Where score@scorePass
         Go

57.調(diào)用帶參數(shù)默認(rèn)值的存儲(chǔ)過(guò)程: 
             EXEC proc_stu    -------采用默認(rèn)值
             EXEC proc_stu 55    ------不采用默認(rèn)值
             EXEC proc_stu  @scorePass=55

58.帶輸出參數(shù)的存儲(chǔ)過(guò)程:

復(fù)制代碼 代碼如下:

        Create procedure proc_stuM
        @notpassSum  int  output,
        @scorePass  int=60
        As 
           Print'及格線:'+convert(varchar(5),@scorePass)
           Print '參加本次考試沒(méi)有通過(guò)的學(xué)員:'
        Select  name,scode,score      from  students
              Inner Join score  On   students.scode=score.studentid
                   Where  score@scorePass
         Select @notpassSum=count(studentid)
               From score where score@scorePass
         GO

59.調(diào)用帶輸出參數(shù)的存儲(chǔ)過(guò)程:(注:調(diào)用時(shí)必須帶output關(guān)鍵字,返回結(jié)果將存放在變量@sum 中)
復(fù)制代碼 代碼如下:

    Declare @sum int
           EXEC proc_stuM @sum output,60
           Print '--------------------------------------------------'
           If @sum>=3
                 Print '未通過(guò)人數(shù):'+convert(varchar(5),@sum )+'人,超過(guò)60%,及格分?jǐn)?shù)線還應(yīng)下調(diào)'
           Else
                  Print '未通過(guò)人數(shù):'+convert(varchar(5),@sum )+'人,已控制在60%以下,及格分?jǐn)?shù)線適中'          
           GO

60.錯(cuò)誤處理:  
使用Raiserror語(yǔ)句:
復(fù)制代碼 代碼如下:

           Create  procedure  pro_stuM
                  @notpassSum  int output,
                  @scorePass  int=60
            As
               If(not  @scorePass  between 0 and 100)
                   Begin
                   Raiserror('及格線錯(cuò)誤,請(qǐng)指定0—100之間的分?jǐn)?shù),統(tǒng)計(jì)中斷退出',16,1) --------引發(fā)系統(tǒng)錯(cuò)誤,指定錯(cuò)誤的嚴(yán)重級(jí)別16,調(diào)用狀態(tài)為1(默認(rèn)),并影響@@ERROR 系統(tǒng)變量的值
                   Return   --------立即返回,退出存儲(chǔ)過(guò)程
             End
               ...............其他語(yǔ)句同上例
             Go

61.使用raiserror語(yǔ)句
復(fù)制代碼 代碼如下:

          Declare  @sum int,@t int
          EXEC proc_stum @sum  output, 604   ----筆試及格線誤輸入604分
          Set @t=@@error
          Print '錯(cuò)誤號(hào):'+convert(varchar(5),@t )
          If @t>o
          Return   ------退出批處理,后續(xù)語(yǔ)句不再執(zhí)行
          Print '-----------------------------------'      -----如果執(zhí)行了raiseerror語(yǔ)句,系統(tǒng)全局@@error 將不等于0,表示出現(xiàn)了錯(cuò)誤.
           If @sum>=3
             Print '未通過(guò)人數(shù):'+convert(varchar(5),@sum)+'人,超過(guò)了60%,及格分?jǐn)?shù)線還應(yīng)下調(diào)'
           Else   print '未通過(guò)人數(shù):'+convert(varchar(5),@sum)+'人,已控制在60%以下,及格分?jǐn)?shù)線適中'              GO

62.調(diào)用存儲(chǔ)過(guò)程:         
例:
復(fù)制代碼 代碼如下:

               Declare  @s  int
               Exec proc_stuinfo  '張三' ,@s , 30    ———錯(cuò)誤!應(yīng)為(exec proc_stuinfo '張三',@s  output,30)
                Exec proc_stuinfo '張三' ,@s     ————錯(cuò)誤!應(yīng)為(exec proc_stuinfo '張三',@s output)
                Exec proc_stuinfo  @sAge=22,@stuName='李四',@m=@s output(正確?。?/P>


63.帶輸出參數(shù)的存儲(chǔ)過(guò)程:  
例:
復(fù)制代碼 代碼如下:

           Declare @sum  int
           Exec proc_stuM @sum  output,60
           Print '-----------------------------------------'
           If  @sum>=3
              Print'未通過(guò)人數(shù):'+convert(varchar(5),@sum )+'人,超過(guò)60%,及格分?jǐn)?shù)線還應(yīng)下調(diào)'
           Else 
               Print'未通過(guò)人數(shù):'+convert(varchar(5),@sum )+'人,已控制在60…60%以下,及格分?jǐn)?shù)線適中'       GO

64.創(chuàng)建觸發(fā)器語(yǔ)法:   
復(fù)制代碼 代碼如下:

Create  trigger  trigger_name
                       On  table_name
                       [with  encryption] --------表示加密觸發(fā)器定義的SQL文本
                       For [delete,insert,update]    -------指定觸發(fā)器類型
                       As
                         T_SQL語(yǔ)句
                       GO   

65.Insert 觸發(fā)器  
例:
復(fù)制代碼 代碼如下:

       Create trigger  trig_transInfo
       On  transInfo
        For  insert
        As
        Declare  @type  char(4),@outMoney  Money
        Declare  @myCardID  char(10),@balance  Money
        Declare  @currentMoney  money
        Select  @type=transType,@outMoney=transMoney,@myCardID=cardID from inserted
              If(@type='支取')
                   Update  bank  set  currentMoney=currentMoney-@outMoney
                   Where  cardID=@myCardID
              Else 
                   Update  bank  set  currentMoney=currentMoney+@outMoney
                   Where  cardID=@myCardID

66. 插入一條語(yǔ)句    
例:
復(fù)制代碼 代碼如下:

          Insert  into  transInfo(transType,transMoney,cardID)
          Values ('支取',200,'10011001')

67. Delete觸發(fā)器示例:
            Create  trigger  tri_delete_transInfo
            On  transInfo
            For  delete
            As
                Print '開(kāi)始備份數(shù)據(jù),請(qǐng)稍候......'
                If  not  exists(select * from  sysobjects  where  name='backupTable')
                Select * into backupTable  from  deleted        ------------從deleted表中獲取被刪除的交易記錄。
                 Else
                    Insert  into backupTable  select * from  deleted
                    Print '備份數(shù)據(jù)成功,備份表中的數(shù)據(jù)為:'
                    Select * from  backupTable
                    Select * from  transInfo
                GO   

68. Update 觸發(fā)器:

復(fù)制代碼 代碼如下:

            Create  trigger  trig_update_bank
            On  bank
            For  update
            As 
                Declare  @beforeMoney  Money,@afterMoney  Money
                Select  @beforeMoney=currentMoney  from  deleted   -------(從deleted表中獲取交易前的金額,從inserted表中獲取交易后的余額)
                Select  @afterMoney=currentMoney  from  inserted  
                If  ABS(@afterMoney-@beforeMoney)>20000 ------交易金額是否>2萬(wàn)
                       Begin
                          Print '交易金額:'+convert(varchar(8),
                          ABS(@afterMoney-@beforeMoney))
                        Raiserror ('每筆交易不能超過(guò)2萬(wàn)元,交易失敗',16,1)
                        Rollback  transaction         ------------回滾事務(wù),撤銷交易
                        End
            Go

69. 列級(jí)update觸發(fā)器
復(fù)制代碼 代碼如下:

         Create  trigger  trig_update_transIfo
         ON  transInfo
         For  update
         As
             If  update(transDate)
             Begin                -------檢查是否修改了交易日期列transDate
             Print  '交易失敗......'
             Raiserror('安全警告:交易日期不能修改,由系統(tǒng)自動(dòng)產(chǎn)生',16,1)
             Rollback  transaction          ----------回滾事務(wù),撤銷交易
             End
         GO

70.數(shù)據(jù)庫(kù)階段數(shù)據(jù)管理的主要特點(diǎn):1.采用數(shù)據(jù)模型表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu);2.有較高的數(shù)據(jù)獨(dú)立性;3.為用戶提供了方便的用戶接口;4.提供數(shù)據(jù)控制功能;5.增加系統(tǒng) 的靈活性。

71.   DB(數(shù)據(jù)庫(kù)):存儲(chǔ)在計(jì)算機(jī)內(nèi)有組織的、統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。
  DBMS(數(shù)據(jù)庫(kù)管理系統(tǒng)):位于用戶與操作系統(tǒng)之間的數(shù)據(jù)管理軟件。
  DBS(數(shù)據(jù)庫(kù)系統(tǒng)):是實(shí)現(xiàn)有組織的、動(dòng)態(tài)的存儲(chǔ)大量關(guān)聯(lián)數(shù)據(jù),以方便用戶訪問(wèn)計(jì)算就硬件、軟件和株距資源組成的計(jì)算機(jī)系統(tǒng)。

72.物理數(shù)據(jù)獨(dú)立性和邏輯數(shù)據(jù)獨(dú)立性:
       物理數(shù)據(jù)獨(dú)立性:內(nèi)模式的修改,只需對(duì)模式/內(nèi)模式映象做相應(yīng)修改,而不需修改        概念模式。邏輯數(shù)據(jù)獨(dú)立性:概念模式的修改,只需對(duì)外模式/模式映象做相應(yīng)修改,而不
需修改外模式。

73.  DBMS的主要功能:
        數(shù)據(jù)定義(DDL):三級(jí)結(jié)構(gòu)、兩級(jí)映象、完整性約束等。數(shù)據(jù)操縱(DML):檢索、更新。數(shù)據(jù)保護(hù):數(shù)據(jù)恢復(fù)、并發(fā)控制、完整性控制、安全性控制等。數(shù)據(jù)維護(hù):數(shù)據(jù)載入、轉(zhuǎn)換、存儲(chǔ)、、性能監(jiān)控等。數(shù)據(jù)字典(DD):存儲(chǔ)三級(jí)結(jié)構(gòu)定義的數(shù)據(jù)庫(kù)稱為DD,即系統(tǒng)數(shù)據(jù)庫(kù)。DBMS主要功能:數(shù)據(jù)庫(kù)定義功能、數(shù)據(jù)存取功能、數(shù)據(jù)庫(kù)運(yùn)行管理功能、數(shù)據(jù)庫(kù)的建立和維護(hù)功能。

74.--1、創(chuàng)建存儲(chǔ)過(guò)程--

復(fù)制代碼 代碼如下:

if exists (select * from sysobjects where name='Sum_wage')
drop procedure Sum_wage
GO
create procedure Sum_wage
@PWage int,
@AWage int,
@total int
as
while (1=1)
begin
if (select count(*) from ProWage)>2*(select count(*) from ProWage where Wage>=@PWage)
update ProWage set @total=@total+@AWage,Wage=Wage+@AWage
else
break
end
print'一共加薪:'+convert(varchar,@total)+'元'
print'加薪后的程序員工資列表:'
select * from ProWage
--調(diào)用存儲(chǔ)過(guò)程1--
exec Sum_wage @PWage=2000,@AWage=100,@total=0
exec Sum_wage @PWage=2200,@AWage=100,@total=0
exec Sum_wage @PWage=3000,@AWage=100,@total=0
exec Sum_wage @PWage=4000,@AWage=100,@total=0
exec Sum_wage @PWage=5000,@AWage=100,@total=0
exec Sum_wage @PWage=6000,@AWage=100,@total=0

75.
復(fù)制代碼 代碼如下:

if exists (select * from sysobjects where name='Avg_wage')
drop procedure Avg_wage
GO
create procedure Avg_wage
@PWage int,
@AWage int,
@total int
as
while (1=1)
begin
if ((select Avg(Wage) from ProWage)=@PWage)
update ProWage set @total=@total+@AWage,Wage=Wage+@AWage
else
break
end
print'一共加薪:'+convert(varchar,@total)+'元'
print'加薪后的程序員工資列表:'
select * from ProWage
--調(diào)用存儲(chǔ)過(guò)程--
exec Avg_wage @PWage=3000,@AWage=200,@total=0
exec Avg_wage @PWage=4500,@AWage=200,@total=0

76.代碼:
復(fù)制代碼 代碼如下:

INSERT INTO studentinformation(S_name,S_no,S_grade,S_address)
VALUES('花無(wú)影',25,'軟件0802班','河北')

select studentinformation.S_name,studentinformation.S_no
into information2
from studentinformation
select S_no,S_grade,S_name
from studentinformation
where S_school='軟件學(xué)院'
order by S_no
select S_no,S_name,S_class
from studentinformation
where S_sex='男'and S_name>'花無(wú)影'
order by S_no
SELECT top 20 percent sname as 姓名,sno as 學(xué)號(hào),saddress as 地址
FROM  yuan
WHERE  sschool ='軟件學(xué)院'
ORDER BY  sno asc,sname desc
select charindex('data','my data is set',1)    (data的索引位置)
select len('java xuexibiji')      (字符串長(zhǎng)度)
select lower('BAO DING DIANLI ZHI YE JI SHU XUE YUAN')   (轉(zhuǎn)換成小寫(xiě))
select replace('軟件學(xué)院','軟件學(xué)院','軟件工程學(xué)院')  (替換)
select stuff('a b c d e f g h i j k l m n',3,6,'今天的學(xué)習(xí)內(nèi)容')   (從第三字符個(gè)開(kāi)始替換,替換6個(gè)字符)
select getdate()   (當(dāng)前日期)
select dateadd(dd,250,'04/12/2009')   (250天后的日期)
select datediff(mm,'04/20/2005','08/05/2010')   (相差的月數(shù))
select datename(dw,'04/12/2009')    (返回星期幾)
select datepart(dd,'04/12/2009')    (返回當(dāng)天是幾號(hào))
select abs(-10)   絕對(duì)值
select ceiling(-32.8)    返回大于或等于該數(shù)的最小整數(shù)
select power(102,3)   取數(shù)值表達(dá)式的冪值
select round(3.141592653,4)     (?)將數(shù)值表達(dá)式四舍五入成指定精度
select sign(1000)   正數(shù)返回1,負(fù)數(shù)返回-1,0返回0.
select sqrt(6.25)      //返回該數(shù)據(jù)的平方根
select convert(varchar(100),45678932) //轉(zhuǎn)變數(shù)據(jù)類型 
select current_user      //返回當(dāng)前用戶的名字
select datalength('軟件學(xué)院')    //返回字符長(zhǎng)度
select host_name()   //返回用戶登錄的計(jì)算機(jī)名
select system_user      //返回登錄的用戶名
select user_name(1)     //從任意數(shù)據(jù)庫(kù)中返回dbo(jizhu)
create proc pro_stu
@scorepass float
as
print '學(xué)號(hào)'+convert(varchar(5),@scorepass)
select name
from stuent
where student.score=@scorepass
go
exec pro_stu @scorepass=85

76.導(dǎo)出SQL Server數(shù)據(jù)庫(kù)中數(shù)據(jù):
復(fù)制代碼 代碼如下:

declare @objectId int
set @objectId=object_id('sun')
if @objectId is not null
begin
    drop proc sun
end
go
create proc sun (@tablename varchar(256))
as
begin
    set nocount on
    declare @sqlstr varchar(4000)
    declare @sqlstr1 varchar(4000)
    declare @sqlstr2 varchar(4000)
    select @sqlstr='select ''insert '+@tablename
    select @sqlstr1=''
    select @sqlstr2='('
    select @sqlstr1='values (''+'
    select @sqlstr1=@sqlstr1+col+'+'',''+' ,@sqlstr2=@sqlstr2+name +',' from (select case
    when a.xtype =173 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+a.name +')'+' end'
    when a.xtype =104 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(1),'+a.name +')'+' end'
    when a.xtype =175 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
    when a.xtype =61 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'convert(varchar(23),'+a.name +',121)'+ '+'''''''''+' end'
    when a.xtype =106 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.xprec+2)+'),'+a.name +')'+' end'
    when a.xtype =62 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(23),'+a.name +',2)'+' end'
    when a.xtype =56 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(11),'+a.name +')'+' end'
    when a.xtype =60 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(22),'+a.name +')'+' end'
    when a.xtype =239 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
    when a.xtype =108 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.xprec+2)+'),'+a.name +')'+' end'
    when a.xtype =231 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
    when a.xtype =59 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(23),'+a.name +',2)'+' end'
    when a.xtype =58 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'convert(varchar(23),'+a.name +',121)'+ '+'''''''''+' end'
    when a.xtype =52 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(12),'+a.name +')'+' end'
    when a.xtype =122 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(22),'+a.name +')'+' end'
    when a.xtype =48 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar(6),'+a.name +')'+' end'
    when a.xtype =165 then 'case when '+a.name+' is null then ''NULL'' else '+'convert(varchar('+convert(varchar(4),a.length*2+2)+'),'+a.name +')'+' end'
    when a.xtype =167 then 'case when '+a.name+' is null then ''NULL'' else '+'''''''''+'+'replace('+a.name+','''''''','''''''''''')' + '+'''''''''+' end'
    else '''NULL'''
    end as col,a.colid,a.name
    from syscolumns a where a.id = object_id(@tablename) and a.xtype >189 and a.xtype >34 and a.xtype >35 and a.xtype >36
    )t order by colid
    select @sqlstr=@sqlstr+left(@sqlstr2,len(@sqlstr2)-1)+') '+left(@sqlstr1,len(@sqlstr1)-3)+')'' from '+@tablename
    print @sqlstr
    exec( @sqlstr)
    set nocount off
end
go

標(biāo)簽:臺(tái)灣 西藏 ???/a> 咸寧 商洛 公主嶺 寶雞 日喀則

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL Server 2005基礎(chǔ)知識(shí)詳細(xì)整理》,本文關(guān)鍵詞  SQL,Server,2005,基礎(chǔ)知識(shí),詳細(xì),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQL Server 2005基礎(chǔ)知識(shí)詳細(xì)整理》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于SQL Server 2005基礎(chǔ)知識(shí)詳細(xì)整理的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    第一福利在线| 一区二区三区导航| 午夜免费高清视频| 亚洲码国产岛国毛片在线| 国产午夜免费福利| 成人精品国产一区二区4080| 黄大色黄女片18免费| 国产精品最新在线观看| 欧美亚一区二区| 国产精品㊣新片速递bt| www红色一片_亚洲成a人片在线观看_| 久久91亚洲精品中文字幕| 国产麻豆一精品一av一免费| 天堂在线资源8| 亚洲精品福利免费在线观看| 中文字幕日本在线观看| 国产盗摄精品一区二区酒店| a级片免费在线观看| 亚洲熟妇无码av在线播放| 久久综合色播五月| 国产日韩欧美视频在线| xxxx在线播放| 欧美在线视频一区| 欧洲中文字幕精品| 成人欧美一区二区三区黑人孕妇| 女女同性女同一区二区三区91| 国产成人亚洲综合91| 少妇精品视频在线观看| 亚洲制服国产| 午夜激情一区二区三区| 欧洲精品一区二区三区| 思思99re6国产在线播放| 97操在线视频| 亚洲影视在线| 国产精品亚洲a| 欧美色播在线播放| 国产成人午夜视频网址| 国产精品香蕉一区二区三区| 无码人妻一区二区三区免费| 欧美gay囗交囗交| 精品福利一区二区三区免费视频| 天天综合久久综合| 精品日本高清在线播放| 国产亚洲成精品久久| 国产一区二区三区在线观看网站| 亚洲国产高清福利视频| 亚洲精华国产精华| 日韩中文字幕在线视频观看| 成人欧美一区二区三区1314| 国产91在线播放精品| 先锋影音在av资源看片| 北条麻妃69av| 成人av中文字幕| 久久精品视频6| 亚洲韩国欧洲国产日产av| 日本jizzjizz| 成人午夜视频免费观看| 欧美精品第一页| 91夜夜未满十八勿入爽爽影院| 亚洲大型综合色站| 久久久久99精品成人片我成大片| 精品五月天堂| 高清在线视频日韩欧美| eeuss影院www影院入口| 色综合久久悠悠| 国产成人精品在线看| 天天爱天天干天天操| 国产美女精品写真福利视频| 97精品国产97久久久久久| 国产图片一区| 美女张开让男人捅| 在线精品国产| 亚洲传媒在线| a级片免费视频| 欧美sss在线视频| 丝袜免费视频| 免费又爽又黄禁片视频1000片| 欧美精品久久久久久久久25p| 最近2019中文字幕大全第二页| 欧美3p在线观看| 久久久91麻豆精品国产一区| 超碰成人在线观看| 19禁羞羞电影院在线观看| 中文字幕一区在线| 操一操视频一区| 亚洲欧美日韩在线播放| 日韩精品免费在线观看| 日韩影院一区二区| 日韩av观看网址| 久久综合在线观看| 国产成人ay| 日韩系列欧美系列| 日韩在线免费电影| 欧美日本韩国一区二区三区视频| 老湿机69福利| 69av视频在线观看| 色视频在线观看| 91在线观看免费高清完整版在线观看| 亚洲精品国产品国语在线app| 美女久久久久久久久| 成在线人视频免费视频| 亚洲亚洲一区二区三区| 久草香蕉在线| 拍拍拍无挡免费播放视频在线观看| 成年人网站大全| 3dmax动漫人物在线看| avhd101老司机| 国色天香一二三期区别大象| 日本黄色中文字幕| 国产高清av在线| 久久综合伊人77777| 国产精品综合久久久久| 精品成人佐山爱一区二区| 欧美日韩一二区| 无码国精品一区二区免费蜜桃| 亚洲不卡在线播放| 狠狠做深爱婷婷久久综合一区| 亚洲精品中文字幕av| 久久午夜夜伦鲁鲁片| 操人视频免费看| 国产精品九九久久久久久久| 久精品国产欧美| 手机在线视频你懂的| 久久九九全国免费精品观看| 91丨porny丨首页| 国产不卡精品| 黄色av一区二区三区| 欧美日韩一区二区在线| 国产精品久久久久7777婷婷| 欧美男女爱爱视频| 国产精品揄拍100视频| 成人一区在线看| 亚洲毛片在线看| 美美哒免费高清在线观看视频一区二区| 一区二区不卡| 国产做a爰片久久毛片| 成年网站免费视频黄| 成人在线亚洲| 亚洲乱色熟女一区二区三区| 欧美男男激情freegay| 免费欧美一级视频| 97热在线精品视频在线观看| 91免费版视频| 欧美电影在线免费观看| 尤物av一区二区| 国产精品亚洲欧美在线播放| 色999韩欧美国产综合俺来也| 亚洲欧美二区三区| 国产精品手机播放| 在线免费一区三区| 人人爽人人av| 欧美一区二区免费观在线| 99国产精品久久久久| 日本24小时在线高清视频| 国产欧美123| 国产精品久久久久久久久图文区| 国产91一区二区三区| 最新在线观看av| 无人在线观看的免费高清视频| 国产精品一区二区无线| 久久网站免费观看| www.嫩草免费在线观看| jizz免费观看| 婷婷久久综合九色综合99蜜桃| 最近日韩中文字幕| 精品一二三四五区| 97成人精品视频在线观看| 少妇真人直播免费视频| 亚洲国产一区二区三区| 久久精品在线免费视频| 伊人色综合久久天天| 一区二区三区不卡在线| 欧美日韩国产在线观看网站| 色撸撸在线视频| 爽爽免费视频| 色窝窝无码一区二区三区| 天天综合入口| 另类图片亚洲另类| 日韩免费电影一区二区三区| 亚洲美女少妇撒尿| 妞干网2018| 水蜜桃一区二区| 一区二区三区高清视频在线观看| 少妇人妻一区二区| 免费在线观看国产黄| 成人午夜在线播放| 国产精品白丝久久av网站| caoporn超碰国产公开| av在线资源站| 国产精久久久| 欧美成人精品欧美一级乱黄| 制服丝袜综合日韩欧美| 潘金莲激情呻吟欲求不满视频| 久久精品成人一区二区三区| 亚洲成人免费在线视频| 黄色一级片网址| 亚洲精品高清视频| 国产青春久久久国产毛片| 国产九九精品| 国产视频网站一区二区三区| 91嫩草国产丨精品入口麻豆| 精品视频一区二区三区在线观看| 国产日韩在线看片| 国产女主播一区二区| 成人羞羞网站| 嫩模一区二区三区| 亚洲国产经典视频| 围产精品久久久久久久| 亚洲精品福利在线| 精品国产三级a∨在线| 亚洲女优视频| 国偷自拍第113页| www.日韩系列| 鲁一鲁一鲁一鲁一av| 天天操天天色综合| 91麻豆精东视频| 欧美专区国产专区| 亚洲日本香蕉视频| 制服丝袜亚洲网站| 2019年中文字幕| 国产欧美一区二区精品秋霞影院| 综合在线观看色| 欧美xxxx性猛交bbbb| 午夜视频一区在线观看| 丁香花视频在线观看| 国产精品12| 中国特级黄色大片| 午夜免费福利在线观看| 日韩精品亚洲元码| 久久精品国产久精国产| 456亚洲精品成人影院| 国产精品高清免费在线观看| 色综合久久中文综合久久牛| 国产精品久久7| 精品久久久久久久久久岛国gif| 美女黄色在线网站大全| 国产丝袜欧美中文另类| 亚洲女娇小黑人粗硬| 亚洲福利一区二区三区| 成人免费看视频网站| 玛丽玛丽电影原版免费观看1977| 电影午夜精品一区二区三区| 亚洲一区二区| 在线观看免费高清视频| 国产黄色美女视频| 夜夜嗨一区二区| 国产自产在线视频一区| 91麻豆精品一区二区三区| 欧美成人精品欧美一级乱黄| www.4438全国最大| 国产成人强伦免费视频网站| 国产免播放器视频| 亚洲v日本v欧美v久久精品| 国产.欧美.日韩| 天天影视色香欲综合网天天录日日录| 黄视频网站在线看| 色噜噜国产精品视频一区二区| 亚洲第一区在线| 99精品免费视频| 人人妻人人澡人人爽久久av| 日韩欧美在线国产| 欧美成人一级视频| 久久这里只有精品23| 原创国产精品91| 精品国产电影| 国产一区二区三区亚洲综合| 久久久精品国产免费观看同学| 国产日韩欧美一区二区三区综合| 在线观看国产成人av片| 九九精品免费视频| 国产日韩中文在线中文字幕| **欧美大码日韩| 中文字幕成人在线观看| 久久成年人免费电影| 日韩精品一二三四| 日韩成人在线免费视频| 欧美日韩激情网| 国产一区一区三区| 久久av在线播放| 日韩中文有码在线视频| 国产va在线播放| 国产性xxxx18免费观看视频| 久久精品一区二区三| 成年人视频软件| 日本一区二区免费在线| 日韩精品中文字幕在线不卡尤物| 在线a人片免费观看视频| 色综合久久网女同蕾丝边| 91视频久久久| 中文字字幕码一二三区| 欧美日韩国产一区| 国产高清成人在线| 男人亚洲天堂网| 亚洲精品第一国产综合精品| 制服黑丝国产在线| 男人的天堂官网| 清纯唯美日韩制服另类| 午夜欧美在线一二页| 99re热视频这里只精品| 亚洲天堂网视频| 亚洲免费黄色| 国内成人精品一区| 国产偷窥女洗浴在线观看亚洲| 韩国av一区二区三区四区| 一区二区三区精密机械公司| 激情深爱综合网| 91在线一区二区| 国产在线视频卡一卡二| 欧洲亚洲一区| jizz.日本| 91青青草视频| 精品一卡二卡三卡| 亚洲人xxxx| 在线精品福利| 国产精品自在欧美一区| 裸体一区二区三区| 欧美激情精品久久久久久| 欧美午夜精品久久久久久久| 亚洲美女网站| 日日夜夜狠狠操| 日本一区免费看| 电影k8一区二区三区久久| 久久久精品少妇| 中日韩av在线| 日韩av中文在线| 国产精品美女午夜av| 极品少妇xxxx偷拍精品少妇| 精品精品99|