㈠ sql語句怎麼實現數據遞增
以sqlserver為例,按照你的要求,先有如下一張表,裡面有相關的數據,所以可以採用alter table表名 add 列名 類型 約束。。
如下:
create table test(
name varchar(10),
sex char(1),
profession varchar(15)
)
alter table test add id int identity check(id>1 and id<9999)
其中 identity 說明是自增
但是,正常情況下,一張表是有主鍵約束的,你添加id是不是要重新設置約束呢,關於這點,可以先alter table drop constraint 約束名。。然後再
alter table test add id int identity check(id>1 and id<9999) 添加主鍵約束。。具體的操作可以參考相關資料庫的幫助文檔
㈡ Sqlserver2008的自動增量怎麼搞得
SqlServer中的自增的ID的最後的值:
SELECT SCOPE_IDENTITY() --返回插入到同一作用域中的 IDENTITY 列內的最後一個 IDENTITY 值。
SELECT @@IDENTITY --返回插入到當前會話中任何作用域內的最後一個 IDENTITY 列值
SELECT IDENT_CURRENT('TbName')--不受作用域和會話的限制,而受限於指定的表。
IDENT_CURRENT 返回為任何會話和作用域中的特定表所生成的值。
一個作用域就是一個模塊——存儲過程、觸發器、函數或批處理。因此,如果兩個語句處於同一個存儲過程、函數或批處理中,則它們位於相同的作用域中。
對於馬上使用的剛才插入的新記錄ID用SCOPE_IDENTITY()是最合適的;
對於想要得到一系列的操作中最後得到的那個自增的ID最好用@@IDENTITY;
對於想要得到一個表中的最後一個插入操作所產生的ID的最好用IDENT_CURRENT('TBName')
DECLARE @TMP_ID INT
SET @TMP_ID = IDENT_CURRENT('BID_EvaluateItem')
IF ((@TMP_ID IS NOT NULL) AND (@TMP_ID >0))
BEGIN
--其它的操作
END
㈢ sqlserver2008R2資料庫中表的增量更新怎麼實現
你所說的這種情況,應該可以使用sql server的merge函數來解決。至於怎麼使用,你可以網路,其實也很簡單,但是打字說起來就復雜了
㈣ sql 遞增
首先,我曾經也經歷過這個問題,我用的Access資料庫,我想自動增量連續.試了好多的方式.除了重建表讀記錄再寫記錄外沒有了.
第二,如果只是asp中得到他們的序數.可以用一個變數i,讀取一條記錄i就加1
如
i=1
while not rs.eof
response.write "序數:" & i & "name:" & rs("name")
i=i+1
rs.movenext
wend
第三,在表中新建一個欄位--排序數.每次刪記錄後重新從1-count(*)更新資料庫的"排序數"欄位
要是回答的內容有問題,或認為不妥,請發送網路消息給我,消息內容加上本頁網址哦。。
·
㈤ sql怎麼添加增量數據
方法一:利用唯一索引的方式實現。即添加的數據已經存在則失敗,添加的數據是增量數據則成功。
方法二:採用SQL語句規則實現。譬如:
insert into A
select B.* from B inner join on B.ID <> A.BID;
㈥ sql server怎麼在一張表後面依次追加001 002 003
1,空首自爛敬動增量,查詢時構成。在視圖,函數中構成也可以。
2,斗歷數自動增量+該欄位,在觸發器里構成+賦值。
構成方法參考:
SELECT RIGHT('0000'+CAST(7 AS VARCHAR(8)),3);
㈦ 如何讓SQL資料庫進行增量備份
在SQL Server 2000中,假定我們擁有一個資料庫為:Test, 現在需要它每天19:00自動進行一次備份,並且以後一旦發生資料庫錯誤,我們都可以通過備份文件將資料庫恢復到任何一個備份過的時刻點。
備份步驟:
1. 在「SQL Server企業管理器」中注冊資料庫所在的伺服器,注意要使用sa用戶名和口令,否則以後執行備份調度的時候,會出現許可權不足,導致不能進行備份。
2. 確保該伺服器的SQL Server Agent服務是開啟的,因為所有的調度都是通過該代理進行執行的。
3. 在「SQL Server企業管理器」中選中Test資料庫,右鍵打開「備份資料庫」窗口,指定一個新的文件Test-daily.bak,選擇「完全」進行一次完全備份。
4. 再次打開「備份資料庫」窗口,這次使用「差異備份」,「重寫」選項設置為「追加到媒體」,目的文件仍然是前面步驟所指定的Test-daily.bak,並在「調度」選項中設置為每天的19:00,這樣,SQL Server會在每天的19:00將資料庫自上次備份以來發生的變化,以增量備份的方式追加到Test-daily.bak文件中。(測試的時候,可以設置為每天的每1分鍾進行一次備份,以便可以很快的看到備份結果)
在需要進行資料庫恢復的時候,可以按照如下還原步驟進行操作:
1. 新建一個資料庫,比如名為Back, 右鍵打開「還原資料庫」窗口,選擇「從設備」進行還原,然後在「選擇設備…」中選定備份所使用的Test-daily.bak文件,回到「還原資料庫」窗口,「備份號」默認為1(對應的就是備份步驟3中的初次完全備份),不必更改。在「選項」標簽頁中,選中「強制還原」,最關鍵的一步是,在「恢復完成狀態」中,選中第2或第3項,即保證「能還原其它事務日誌」,這樣還原之後,這個新的資料庫就回到了我們進行第一次完全備份時候的狀態,此時,該Back資料庫將處於「正在裝載」或「只讀」的狀態,沒有關系,這是正常的,因為我們接下來還需要通過事務日誌將該資料庫恢復到指定的某個狀態。
2. 再次打開「還原資料庫」窗口,同樣選擇「從設備」進行還原,然後在「選擇設備…」中選定備份所使用的Test-daily.bak文件,回到「還原資料庫」窗口,點擊「備份號」後面的「查看內容…」按鈕,在新的窗口中,可以看到裡面列出了每天19:00左右備份過的備份集(除了最頂上一個是我們初次的完全備份集,其它都是每天的增量備份集),選中想要恢復的某個備份集,單擊「確定」回到主窗口,可以看到「還原備份集」默認選中的是「差異」,再單擊確定,這樣,Back資料庫就恢復到了我們選定的某個備份集了。
上述還原步驟可以重復進行,直到我們找到確切需要的某個備份集。
另外,恢復後的資料庫名稱是Back,如果想將其改名為Test,可以執行
EXEC sp_renamedb 'Back', 'Test'
在重命名資料庫之前,應該確保沒有人使用該資料庫,而且資料庫設置為單用戶模式。
補充:需要在"備份資料庫"->"常規"選項卡里選中"重寫現有媒體",這樣在"選項"選項卡里才能設定"備份集到期時間",並且發現,這樣設定好"到期時間"之後,即使將"重寫現有媒體"改為"追加到媒體",所設定的"到期時間"還是有效的,這可以在調度里的"步驟"腳本中看出來,如:
BACKUP DATABASE [model] TO DISK = N'D:\test.bak' WITH NOINIT , NOUNLOAD , RETAINDAYS = 1, DIFFERENTIAL , NAME = N'model 備份', NOSKIP , STATS = 10, NOFORMAT,通過這種方式應該可以實現保留最近N天的備份,測試中....