ابزارهای کمکی
در این بخش ابزارهایی برای کمک به استانداردسازی فراهم آورده خواهند شد.
فرمان SQL برای جایگزینی حروف «ک»، «ی»، و «ه» درست
UPDATE sample_table SET sample_field = replace(sample_field, 'find', 'replace');
این فرمان بخش sample_field را در میز sample_table به روز رسانی میکند؛ به گونه ای که هرگونه واژه find با واژه replace جایگزین شود.
فرمان زیر حروف نادرست را در بخش posts میز mydata یافته و حروف درست را به جای آنها میگذارد.
UPDATE mydata SET posts = replace(posts, 'ي', 'ی');
UPDATE mydata SET posts = replace(posts, 'ك', 'ک');
UPDATE mydata SET posts = replace(posts, 'ة', 'ه');
هشدار:
فرمان بالا تنها در MySQL آزمایش شده است.
پیش از به کار گرفتن فرمان بالا، از بانک داده خود یک پشتیبان بگیرید.
مسئولیت به کار گیری فرمان بالا با خود شما است. پروژه استانداردسازی مسئولیت هر گونه مشکل احتمالی را نمیپذیرد.
یک SP زیر TSQL برای جایگزینی نوشتههای نادرست
CREATE PROC SearchAndReplace
(
@SearchStr nvarchar(100),
@ReplaceStr nvarchar(100)
)
AS
BEGIN
SET NOCOUNT ON
DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110), @SQL nvarchar(4000), @RCTR int
SET @TableName = ''
SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')
SET @RCTR = 0
WHILE @TableName IS NOT NULL
BEGIN
SET @ColumnName = ''
SET @TableName =
(
SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName
AND OBJECTPROPERTY(
OBJECT_ID(
QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)
), 'IsMSShipped'
) = 0
)
WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)
BEGIN
SET @ColumnName =
(
SELECT MIN(QUOTENAME(COLUMN_NAME))
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2)
AND TABLE_NAME = PARSENAME(@TableName, 1)
AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar')
AND QUOTENAME(COLUMN_NAME) > @ColumnName
)
IF @ColumnName IS NOT NULL
BEGIN
SET @SQL= 'UPDATE ' + @TableName +
' SET ' + @ColumnName
+ ' = REPLACE(' + @ColumnName + ', '
+ QUOTENAME(@SearchStr, '''') + ', ' + QUOTENAME(@ReplaceStr, '''') +
') WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2
EXEC (@SQL)
SET @RCTR = @RCTR + @@ROWCOUNT
END
END
END
SELECT 'Replaced ' + CAST(@RCTR AS varchar) + ' occurence(s)' AS 'Outcome'
END
فرمان نمونه:
exec SearchAndReplace 'ک' , 'ك'
با سپاس فراوان از علیرضا اسمرام از تارگاه
ASPCode.IR برای نوشتن این کد.
هشدار:
پیش از به کار گرفتن فرمان بالا، از بانک داده خود یک پشتیبان بگیرید.
مسئولیت به کار گیری فرمان بالا با خود شما است. پروژه استانداردسازی مسئولیت هر گونه مشکل احتمالی را نمیپذیرد.
ویرایشگر برای جایگزینی حروف «ک»، «ی»، و «ه» درست