Como poner esto en sql server

tema enviado por sara en SQL Server
tema iniciado el 04/02/2008

CREATE OR REPLACE TRIGGER VALIDAR_CLIENTE
BEFORE UPDATE OR INSERT ON CLIENTES FOR EACH ROW
--
DECLARE
--
BEGIN
IF UPDATING ('DNI_CLI') OR INSERTING THEN
--
FOR i IN 1 .. length(:NEW.dni_cli) LOOP
--
-- Comprueba los números del DNI
IF i BETWEEN 1 AND (length(:NEW.dni_cli) - 1) THEN
--
IF ((substr(:NEW.dni_cli, i, 1) NOT BETWEEN 0 AND 9) OR (substr(:NEW.dni_cli, i, 1) IS NULL)) THEN
--
RAISE_APPLICATION_ERROR(-20000, 'ERROR: El número del DNI ' || :NEW.dni_cli || ' no es válido.');
--
END IF;
--
-- Comprueba la letra del DNI
ELSE
--
IF ((substr(:NEW.dni_cli, i, 1) NOT BETWEEN 'A' AND 'Z') OR (substr(:NEW.dni_cli, i, 1) IS NULL)) THEN
--
RAISE_APPLICATION_ERROR(-20000, 'ERROR: La letra del DNI ' || :NEW.dni_cli || ' no es válida.');
--
-- Si la letra del DNI es correcta, se pone en mayúsculas, por si estuviese en minúsculas
ELSE
--
:NEW.dni_cli := UPPER(:NEW.dni_cli);
--
END IF;
--
END IF;
--
END LOOP;
--
END IF;


EXCEPTION
WHEN value_error THEN RAISE_APPLICATION_ERROR(-20000, 'ERROR: El número del DNI ' || :NEW.dni_cli || ' no es válido.');
--
END;

 

Muchas gracias.