自己写个程序,用perl或者python。商业智能工具中的ETL是一种可视化的工具,也可以完成这样的工作,不过效率有点低。
成都创新互联主要从事成都做网站、成都网站建设、成都外贸网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务海拉尔,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
正如数据库提示的那样,数据库中已有了这个存储过程,因此这段代码只能执行一遍。
如果想修改存储过程,可以把
create procedure proce_space
改成
alter procedure proce_space--这句是针对已有的存储过程的修改
另外一种策略就是
if exists (select * from sysobjects where type='P' and name='proce_space')
drop proc proce_space
go
create procedure proce_space
.
.
.
这样先判断存储过程是否存在,如果存在一个旧的,就删掉它,然后重新创建新的。
一般的数据库更新脚本都用这种模式
sqlservertools18是企业版本。微软公司的SQLServer2017及2019各个版本之间的区别和SQLServer数据库在不同时期发布的不同版本的区别,sqlservertools18是企业专用的版本。
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