I am doing this project, but am having trouble with Oracle syntax. I created this function in MS SQL, but it doesn't match up at all with Oracle. Oracle only says "Warning: Function created with compilation errors." but never can run it. I have it working just fine in MS SQL 2005. Here is what I have...
MS SQL Function (SQL Query)
CREATE FUNCTION CheckDriverExists
(
@p_DriverNo varchar(5)
) RETURNS INT
AS
BEGIN
DECLARE @TempColumn INT
DECLARE @TempColumn2 INT
SET @TempColumn = (SELECT COUNT(DISTINCT YDrivers.DriverNo) AS TempColumn
FROM YDrivers WHERE YDrivers.DriverNo=@p_DriverNo);
SET @TempColumn2 = (SELECT COUNT(DISTINCT XDrivers.DriverNo) AS TempColumn
FROM XDrivers WHERE XDrivers.DriverNo=@p_DriverNo);
RETURN (@TempColumn + @TempColumn2)
END;
Oracle Function
CREATE OR REPLACE FUNCTION CheckDriverExists(p_DriverNo varchar(5)) RETURNS INT
IS
BEGIN
count1 := (SELECT COUNT(DISTINCT YDrivers.DriverNo) AS TempColumn
FROM YDrivers WHERE YDrivers.DriverNo=p_DriverNo);
count2 := (SELECT COUNT(DISTINCT XDrivers.DriverNo) AS TempColumn
FROM XDrivers WHERE XDrivers.DriverNo=p_DriverNo);
RETURN (count1 + count2);
END;
/