학교 과제가 있는데 왜 작동하지 않는지 궁금합니다. 내 작업 : 저장 프로 시저에 대한 설명을 작성하면 Mitarbeiter가 참여한 모든 프로젝트와 각 프로젝트에 소요 한 시간이 반환됩니다. (CREATE FUNCTION을 사용해야합니다)
내 솔루션 :
CREATE TYPE ty_projects_hours AS (Projekte VARCHAR, Stunden INTEGER);
CREATE FUNCTION projects_hours (Mitarbeiter_Mail VARCHAR)
RETURN SETOF ty_projects_hours AS
'SELECT P_ID, Stunden FROM Projektteilnehmer;';
SELECT * FROM projects_hours ([email protected]);
-> 그래서 내가
SELECT * FROM projects_hours
Mitarbeiter를 찾으려면 괄호 안에 메일을 입력합니다.
pgAdmin의 말 : 주어진 언어가 없습니다.
"제공된 언어 없음 "
오류 메시지의 내용 : language sql
. 또한 이에 대한 유형을 만들 필요가 없습니다.
CREATE FUNCTION projects_hours (Mitarbeiter_Mail VARCHAR)
RETURN table (projekte varchar, stunden integer)
AS
'SELECT P_ID, Stunden FROM Projektteilnehmer;'
language sql; --<<< this was missing
그러나 매개 변수를 사용하지 않으므로 다음을 의미한다고 생각합니다.
CREATE FUNCTION projects_hours (mitarbeiter_mail VARCHAR)
RETURN table (projekte varchar, stunden integer)
AS
$$
SELECT P_ID, Stunden
FROM Projektteilnehmer
WHERE teilnehmer = mitarbeiter_mail;
$$
language sql;
그런 다음 작은 따옴표가 필요한 적절한 문자열 매개 변수로 호출합니다.
SELECT *
FROM projects_hours('[email protected]');
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다