В вашем коде несколько ошибок. Я предполагаю, что у вас есть 2 столбца в вашей таблице instal_app с именами user_id и app_id.
CREATE FUNCTION allow_user_to_score(
@user_id char(6),
@app_id char(7)
)
RETURNS SMALLINT
AS
BEGIN
DECLARE @result smallint;
SELECT @result = CASE WHEN EXISTS (SELECT *
FROM installed_app
WHERE user_id = @user_id
AND app_id = @app_id)
THEN 1
ELSE 0 END;
RETURN @result;
END
Как уже упоминал Шон, это можно легко преобразовать в встроенную табличную функцию для значительного повышения производительности.
CREATE FUNCTION allow_user_to_score(
@user_id char(6),
@app_id char(7)
)
RETURNS TABLE
AS RETURN
SELECT result = CASE WHEN EXISTS (SELECT *
FROM installed_app
WHERE user_id = @user_id
AND app_id = @app_id)
THEN 1
ELSE 0 END;