پروژه استاندارد وب پارسی پس از پایان یافتن نگارش دوم کتاب، دوباره آغاز به کار خواهد کرد.

یک SP برای TSQL

یک 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 برای نوشتن این کد.

هشدار:
  • پیش از به کار گرفتن فرمان بالا، از بانک داده خود یک پشتبان بگیرید.
  • مسئولیت به کار گیری فرمان بالا با خود شما است. پروژه استانداردسازی مسئولیت هر گونه مشکل احتمالی را نمی‌پذیرد.