最近幾天寫儲存過程,總結一下零碎知識

2022-05-21 03:45:29 字數 1429 閱讀 6244

一、關於儲存過程中的表:

儲存過程中可以建立兩類表,臨時表和實體表,其建立方式如下:

(1)、臨時表:

create table #table(id int identity(1,1),列名1 int,列名2 varchar(100)……..)

create table ##table(……..)

a、 其中,乙個#表示是本地臨時表(區域性臨時表),只有建立它的使用者可以使用,當使用者斷開連線後,臨時表會自動刪除。該臨時表在sql server 資料庫的目錄:資料庫->系統資料庫->tempdb->臨時表下可以看到。sql server 為每個臨時表新增乙個字尾,所以不通擔心重名問題。所以在乙個儲存過程中宣告的臨時表,不需要去drop它,當然,如果手動去drop,更保險!

b、 兩個##表示是全域性臨時表,在建立後,任何使用者和連線都可以使用它,只有所有使用該全域性臨時表的使用者都斷開連線後,sql server才刪除它。因為我現在寫的儲存過程都是乙個個獨立的,所有還沒有用到。

(2)、實體表:不知道這樣稱呼標準不?可能還有別的稱呼

a、create table table_name(id int identity(1,1),列名1 int,列名2 varchar(100)……..)

注意,不帶#標誌。實體表在當前資料庫中可見。

宣告了實體表後,如果不再使用,一定要drop 它。所以最好在宣告之前,先判斷一下有沒有同名的,如下

a、判斷儲存過程中是否存在實體表

ifexists

(select

*from sysobjects where

objectproperty

(object_id

('table_name'

),'istable'

)= 1)

b、判斷儲存過程中是否存在臨時表if

object_id

('tempdb.dbo.#table_name')is

notnull

注意:tempdb.dbo

是sql server

資料庫中所有臨時表的存放目錄

說明:b

也可以用來判斷實體表,應該更簡單!

二、 更改列名(欄位名)

在做儲存過程中,需要修改列名,即欄位名。注意,不是修改列屬性。如果修改列屬性,用

alter

即可,修改列名必須使用系統自帶的儲存過程:

sp_rename

。修改實體表的列名:

exec sp_rename 『table_name.

列名』,『

修改後的列名

』,『column』

不知道為什麼,我在修改臨時表的列名時,老是報錯!如,

exec sp_rename 『tempdb.dbo.#table_name.

列名』,』

修改後的列名

』,』column』

待研究!!!

改錯 總結一下近幾天犯的錯誤

最近寫點東西,發現果斷還是把老師教的都還回去了.額,但是在我敲鍵盤的過程中,又汲取回來啦。總結一下最近犯的錯誤吧,給自己提個醒,希望不要再犯了 1.用控制項變數獲取輸入的文字,出錯。因為函式挺長,所以好一會都沒發現問題在 後來利用 注釋法 個人覺得好實用的方法 找到了問題 m ededit.getw...

總結一下資料儲存加密的過程

1.獲取遊戲存檔路徑 2.定義並初始化儲存內容 此次可以設定密碼 一次加密 防止存檔的拷貝覆蓋 key systeminfo.deviceuniqueidentifier 此處可如此設定 儲存 1.建立或開啟存檔,2.將要儲存的內容序列化,並將序列化的流轉化為byte陣列然後轉化為string 3....

總結一下最近的體會

最近的狀態 一直處於看 的狀態,效率不高,之前一直在看細節,然後細節看過之後,感覺應該對流程應該有個體會,所以就去看流程而沒有過多的關注細節,其實應該是先看細節,然後再看流程,兩者結合一下,效果會更好 有了改變的意識 感覺很沒勁,感覺學不多東西,感覺很無聊 聽培訓,聽完之後,老人點評,這時候才開始明...