Это просто EXISTS
вещь, поэтому мы могли бы попробовать
CREATE FUNCTION [dbo].[check_education](@in_crs_code VARCHAR(4000)) RETURNS BIT AS
BEGIN
RETURN EXISTS ( <query> )
END;
Но, насколько я знаю, SQL Server не принимает это (хотя я не могу сказать, почему нет - возможно, это потому, чтоиз-за отсутствия реального логического значения, Oracle не принимает его, потому что EXISTS
не является ключевым словом в их языке программирования PL / SQL).
Поэтому мы будем использовать IF
/ THEN
/ELSE
:
CREATE FUNCTION [dbo].[check_education](@in_crs_code VARCHAR(4000)) RETURNS BIT AS
BEGIN
IF EXISTS
(
SELECT 'x'
FROM ku_library_education_extloan
WHERE UPPER(course_code) = UPPER(in_crs_code) AND in_use = 'Y'
)
RETURN 1
ELSE
RETURN 0
END
END;
Могут быть ошибки, потому что я никогда не кодировал хранимую процедуру в T-SQL, но в любом случае, вы поняли.