天天看點

Sql Server 2005 實訓

【序言】

 很久沒到這邊 ,上周為了應付學校的技能抽查,對資料庫的基本操作進行整理,放到這邊,主要是一些簡單的資料庫的操作

[正文]

1. 資料庫的建立

  create database BankCreditLoanDB

   on primary(

   name=BankCreditLoanDB,

   Filename='E:\銀行信貸管理系統\BankCreditDB.mdf',

   size=3,    --大小

   maxsize=100,   

   filegrowth=10%   -- 檔案的增長率

)

  log on(

    name=BankCredloanDB_log,

    filename='E:\銀行信貸管理系統\BankCreditloanDB.ldf',

    size=1,

    maxsize=2,

    filegrowth=10%  

)

2. 表的的建立

2.1 客戶基本資訊表

  create table T_customer_info(

     Cust_id  char(10) primary key ,

     Cust_name varchar(60),

     Legal_name varchar(10),

     Reg_address varchar(60),

     Post_code  char(6)   --郵政編碼

 )

2.2 客戶信用等級表

      create table T_cust_credit_level(

     Cust_id  char(10) primary key ,

     Credit_level char(2),  -- 信用級别

     Begin_date   datetime, --評級有效的開始日期

     End_date   datetime

 )

2.3 客戶信用等級曆史表

create table T_his_cust_credit_level(

     id  integer primary key ,

     Cust_id char(10), 

     Credit_level char(2), --信用等級

     Begin_date datetime, --評級有效的開始日期

     End_date  datetime

 )

3. 主外鍵限制

4. 将信用級别字段的預設值設定為01,

5. 根據對資料的資料模型的了解,分别向三個表中插入一條測試資料

 5.1     insert into  T_customer_info(

    Cust_id,Cust_name,Legal_name,Reg_address,Post_code

  )values(

   'A001B00101','李勇軍','xx公司','長沙市雨花區XX路号','410001'

)

 5.2

     insert into  T_cust_credit_level(

    Cust_id,Begin_date,End_date

  )values(

   'A001B00101','2010-01-01','2011-12-31'

)

5.3

   insert into  T_his_cust_credit_level(

   id, Cust_id,Credit_level,Begin_date,End_date

  )values(

   '01','A001B00101','01','2010-01-01','2011-12-31'

)

6. 查詢客戶名稱為“XX公司”的信用等級

Select  Credit_Level 

From T_customer_info ,T_his_cust_credit_level 

Where T_customer_info.Cust_id=T_his_cust_credit_level.Cust_id –主外鍵連接配接

 AND T_his_cust_credit_level.Cust_name=’xx公司’

7. 建立視圖V_His_cust_credit_level用于查詢客戶的信用級别曆史記錄,視圖列名顯示為客戶名稱 ,信用級别、評級的有效日期、評級有效中止日期

       Create view V_His_cust_credit_level  --視圖名

        AS 

         Select * from T_his_cust_credit_level

8. 建立帶輸入參數的存儲過程P_cust_credit_level,根據輸入參數更新客戶信用等級表,并将更新前的記錄插入到客戶信用等級曆史表 

Create procedure P_cust_credit_level(@Cust_id CHAR(10)),@Credit_lever CHAR(2))

AS

BEGIN 

  INSERT INTO T_his_cust_credit_level

(Cust_id,Credit_level,begin_date,End_date)

Select Cust_id,Credit_level,Begin_date,End_date FROM T_Cust_credit_level WHERE  [email protected]_id

Update T_cust_credit_lever SET [email protected]_level

   WHERE [email protected]_id

END

GO

【聯系方式】

mail:[email protected]

QQ:527582451