CREATE OR REPLACE PROCEDURE ASPNET_GETUSERBYEMAIL
(
APPLICATIONNAME IN NVARCHAR2,
EMAIL IN NVARCHAR2,
V_OUNNT OUT NUMBER
)
AS
BEGIN
IF EMAIL IS NULL THEN
BEGIN
SELECT COUNT(*) INTO V_COUNT
FROM ASPNET_APPLICATIONS A,
ASPNET_USERS U,
ASPNET_MEMBERSHIP M
WHERE LOWER(APPLICATIONNAME) = A.LOWEREDAPPLICATIONNAME
AND U.APPLICATIONID = A.APPLICATIONID
AND U.USERID = M.USERID
AND M.LOWEREDEMAIL IS NULL;
END;
ELSE
BEGIN
SELECT COUNT(*) INTO V_COUNT
FROM ASPNET_APPLICATIONS A,
ASPNET_USERS U,
ASPNET_MEMBERSHIP M
WHERE LOWER(APPLICATIONNAME) = A.LOWEREDAPPLICATIONNAME
AND U.APPLICATIONID = A.APPLICATIONID
AND U.USERID = M.USERID
AND LOWER(EMAIL) = M.LOWEREDEMAIL;
END;
END IF ;
IF V_COUNT = 0 THEN
BEGIN
V_OUNNT:= 1;
END;
ELSE
BEGIN
V_OUNNT:=0;
END;
END IF;
END ASPNET_GETUSERBYEMAIL;
--自己对照比较一下
CREATE OR REPLACE FUNCTION ASPNET_GETUSERBYEMAIL(APPLICATIONNAME IN NVARCHAR2,
EMAIL IN NVARCHAR2)
RETURN NUMBER AS
V_OUNNT NUMBER;
BEGIN
IF EMAIL IS NULL THEN
SELECT COUNT(*)
INTO V_COUNT
FROM ASPNET_APPLICATIONS A, ASPNET_USERS U, ASPNET_MEMBERSHIP M
WHERE LOWER(APPLICATIONNAME) = A.LOWEREDAPPLICATIONNAME
AND U.APPLICATIONID = A.APPLICATIONID
AND U.USERID = M.USERID
AND M.LOWEREDEMAIL IS NULL;
ELSE
SELECT COUNT(*)
INTO V_COUNT
FROM ASPNET_APPLICATIONS A, ASPNET_USERS U, ASPNET_MEMBERSHIP M
WHERE LOWER(APPLICATIONNAME) = A.LOWEREDAPPLICATIONNAME
AND U.APPLICATIONID = A.APPLICATIONID
AND U.USERID = M.USERID
AND LOWER(EMAIL) = M.LOWEREDEMAIL;
END IF;
IF (V_COUNT = 0) THEN
RETURN(1);
ELSE
RETURN(0);
END IF;
END ASPNET_GETUSERBYEMAIL;