十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
sqlservertools18是企业版本。微软公司的SQLServer2017及2019各个版本之间的区别和SQLServer数据库在不同时期发布的不同版本的区别,sqlservertools18是企业专用的版本。
专注于为中小企业提供成都做网站、成都网站建设、成都外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业平邑免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
正如数据库提示的那样,数据库中已有了这个存储过程,因此这段代码只能执行一遍。
如果想修改存储过程,可以把
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
.
.
.
这样先判断存储过程是否存在,如果存在一个旧的,就删掉它,然后重新创建新的。
一般的数据库更新脚本都用这种模式
自己写个程序,用perl或者python。商业智能工具中的ETL是一种可视化的工具,也可以完成这样的工作,不过效率有点低。
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