sqlservertools18是企業(yè)版本。微軟公司的SQLServer2017及2019各個(gè)版本之間的區(qū)別和SQLServer數(shù)據(jù)庫(kù)在不同時(shí)期發(fā)布的不同版本的區(qū)別,sqlservertools18是企業(yè)專(zhuān)用的版本。
專(zhuān)注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)平邑免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000多家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
正如數(shù)據(jù)庫(kù)提示的那樣,數(shù)據(jù)庫(kù)中已有了這個(gè)存儲(chǔ)過(guò)程,因此這段代碼只能執(zhí)行一遍。
如果想修改存儲(chǔ)過(guò)程,可以把
create procedure proce_space
改成
alter procedure proce_space--這句是針對(duì)已有的存儲(chǔ)過(guò)程的修改
另外一種策略就是
if exists (select * from sysobjects where type='P' and name='proce_space')
drop proc proce_space
go
create procedure proce_space
.
.
.
這樣先判斷存儲(chǔ)過(guò)程是否存在,如果存在一個(gè)舊的,就刪掉它,然后重新創(chuàng)建新的。
一般的數(shù)據(jù)庫(kù)更新腳本都用這種模式
自己寫(xiě)個(gè)程序,用perl或者python。商業(yè)智能工具中的ETL是一種可視化的工具,也可以完成這樣的工作,不過(guò)效率有點(diǎn)低。
Create Function [dbo].[fn_SJ](@ID Varchar(15))
Returns Varchar(18)
As
Begin
If Len(@ID)!=15
Return Null
Declare @SFZ Varchar(18)
Set @SFZ=Left(@ID,6)+'19'+Right(@ID,9)
Declare @Q Varchar(17),@YZM Varchar(1)
Set @Q='1,0,X,9,8,7,6,5,4,3,2,'
Declare @X Varchar(40)
Set @X='7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,'
Declare @S int,@I int
Set @S=0
Set @I=1
While @I18
Begin
Set @S=@S+Convert(int,SUBSTRING(@SFZ,@I,1))*Left(@X,CharIndex(',',@X)-1)
Set @X=Substring(@X,CharIndex(',',@X)+1,40)
Set @I=@I+1
End
Set @S=@S%11
Set @YZM=Substring(@Q,CharIndex(',' ,@Q ,@S*2)+1 ,1)
Return @SFZ+@YZM
End