在T-SQL中复制字符

T-SQl中的REPLICATE命令复制给定的字符串任意次。字符串可以是一个字符或者多个。可以将该命令加入到脚本中得到更好的输出。以下命令可以输出一行星号:

PRINT REPLICATE('*',80)

字符串会按照定宽字符输出排列,比如Courier字体,下面的例子显示SQL SERVRE实例名的长度,没有什么实际的意义,致使说明它增加了T-SQL的可读性。

PRINT REPLICATE('         |',10)

PRINT REPLICATE('1234567890',10)

PRINT @@SERVICENAME

以下是一个样例的脚本显示该脚本每一步的具体运行结果:

SET NOCOUNT ON

GO

PRINT REPLICATE('#',20) + 'CREATING MyUser Schema' +

      REPLICATE('#',20)

GO

PRINT REPLICATE('*',20) + '  ADDING LOGINS...'

GO

EXEC sp_addloginMyUser, NULL

GO

PRINT REPLICATE('*',20) + '  ADDING USERS...'

GO

EXEC sp_adduserMyUser

GO

PRINT REPLICATE('*',20) + '  ADDING ROLE MEMEBERS...'

GO

EXEC sp_addrolememberdb_ddladmin, MyUser

GO

PRINT REPLICATE('*',20) + '  CREATING TABLES...'

GO

CREATE TABLE MyUser.x_temp

(KEY1 INT IDENTITY NOT NULL

     CONSTRAINT pk_x_temp PRIMARY KEY,

COL1 INT NULL)

GO

SELECT type, name MyUserTables

FROM sysobjects

WHERE USER_NAME(uid) = 'MyUser'

GO

PRINT REPLICATE('#',20) + '  DROPPING MyUser Schema  '

      + REPLICATE('#',20)

GO

PRINT REPLICATE('*',20) + '  DROPPING TABLES...'

GO

DROP TABLE MyUser.x_temp

GO

SELECT type, name MyUserTables

FROM sysobjects

WHERE USER_NAME(uid) = 'MyUser'

GO

PRINT REPLICATE('*',20) + '  DROPPING ROLE MEMEBERS...'

GO

EXEC sp_droprolememberdb_ddladmin, MyUser

GO

PRINT REPLICATE('*',20) + '  DROPPING USERS...'

GO

EXEC sp_dropuserMyUser

GO

PRINT REPLICATE('*',20) + '  DROPPING LOGINS...'

GO

EXEC sp_droploginMyUser

GO

 

在脚本中加入这些注释,可以很容易的对脚本进行差错,当脚本发生错误的时候可以很容易的确定在那里出现了问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值