t-sql中的replicate命令複製給定的字串任意次。字串可以是乙個字元或者多個。可以將該命令加入到指令碼中得到更好的輸出。以下命令可以輸出一行星號:
print replicate('*',80)
字串會按照定寬字元輸出排列,比如courier字型,下面的例子顯示sql servre例項名的長度,沒有什麼實際的意義,致使說明它增加了t-sql的可讀性。
print replicate(' |',10)
print replicate('1234567890',10)
print @@servicename
以下是乙個樣例的指令碼顯示該指令碼每一步的具體執行結果:
set nocount on
goprint replicate('#',20) + 'creating myuser schema' +
replicate('#',20)
goprint replicate('*',20) + ' adding logins...'
goexec sp_addloginmyuser, null
goprint replicate('*',20) + ' adding users...'
go exec sp_addusermyuser
goprint replicate('*',20) + ' adding role memebers...'
goexec sp_addrolememberdb_ddladmin, myuser
goprint replicate('*',20) + ' creating tables...'
gocreate table myuser.x_temp
(key1 int identity not null
constraint pk_x_temp primary key,
col1 int null)
goselect type, name myusertables
from sysobjects
where user_name(uid) = 'myuser'
goprint replicate('#',20) + ' dropping myuser schema '
+ replicate('#',20)
goprint replicate('*',20) + ' dropping tables...'
godrop table myuser.x_temp
goselect type, name myusertables
from sysobjects
where user_name(uid) = 'myuser'
goprint replicate('*',20) + ' dropping role memebers...'
goexec sp_droprolememberdb_ddladmin, myuser
goprint replicate('*',20) + ' dropping users...'
goexec sp_dropusermyuser
goprint replicate('*',20) + ' dropping logins...'
goexec sp_droploginmyuser
go
在指令碼中加入這些注釋,可以很容易的對指令碼進行差錯,當指令碼發生錯誤的時候可以很容易的確定在那裡出現了問題。
T SQL字元轉義
今天在用sql server查詢以prm 開頭的表名時發現問題,檢視一下是下劃線沒被轉義,特此總結一下t sql字元轉義 建立臨時表,插入示例資料 1 create table characters ch varchar 200 2 insert characters values 入職時間 201...
在JS中複製物件
在這篇文章中,我將會講到幾種在js中複製物件的方式,我們將會關注到淺複製和深複製。在開始之前,值得一提的是一些基礎知識 js中的物件只是對記憶體中某個位置的引用。這些引用是可以更改的。即他們可以被重新分配。從而,簡單的複製引用的操作在結果上僅僅是將兩個引用指向了記憶體中的同一位置。var foo c...
在Vim中複製整行
如何以類似於intellij idea resharper中的ctrl d或eclipse中的ctrl alt 的方式在vim中複製整行?普通模式 檢視其他答案。如果您需要移動而不是複製,請使用 m而不是 t。如果將它與 g或 v結合使用,這將非常強大。參考 help range,help t,he...