UPDATE

2017-10-05 4 views
0

とSQLユーザー定義関数を使用して、私は、任意の非アルファ数値文字を削除機能、およびEMIRテーブルにいくつかのアップデートを行いますストアドプロシージャを持っています。私の質問は、私は、関数RemoveNonAlphaNumericCharactersを呼び出して、フィールドを更新するための更新文を書くのですか、である「Underlying_Security_Name」UPDATE

USE EMIR 
GO 
ALTER FUNCTION [dbo].[RemoveNonAlphaNumericCharacters] 
(
-- Add the parameters for the function here 
@String NVARCHAR(100) 
) 
RETURNS nvarchar(100) 

AS 
BEGIN 
DECLARE @Keep_Value AS NVARCHAR(50) 
SET @Keep_Value = '%[^a-z0-9 ]%' 

WHILE PATINDEX(@Keep_Value, @String) > 0 
BEGIN 
    SET @String = STUFF(@String, PATINDEX(@Keep_Value, @String), 1, '') 
END 

RETURN @String 
END 

GO 
+0

手続きコード** **性の高いベンダー固有である - そう 'postgresql'、' SQL-server'、 'oracle'または' DB2、あなたは 'mysql'を使用しているかどうかを指定するためにタグを追加してください' - または全く別のもの。 –

+1

試し '更新首長は' underlying_security_nameがdbo.RemoveNonAlphaNumericCharacters(underlying_security_nameを)=設定しました –

答えて

2

あなたはこのような何かを行うことができます。

UPDATE EMIR.table_name 
SET Underlying_Security_Name = dbo.RemoveNonAlphaNumericCharacters(Underlying_Security_Name​);