SELECT DISTINCT код_врача, имя_врача 
FROM врачи 
WHERE NOT EXISTS ( 
SELECT обслуживание.код_врача 
FROM обслуживание 
WHERE Обслуживание.код_врача = врачи.код_врача);
	
	
	SQL
	
		
		
								
				
								
				
								
				
			
	
		
			PL SQL Помогите пожалуйста как из этого запроса сделать функцию
Чтобы сделать функцию из этого запроса, вам нужно сделать следующее: 
 
1) Определите параметры функции, которые будут использоваться в запросе. Например, в данном случае вам может потребоваться параметр для таблицы "обслуживание" и для таблицы "врачи".
 
2) Замените названия таблиц и колонок в запросе на параметры функции. Например, вместо "врачи.код_врача" вы можете использовать "table1.column1", а вместо "обслуживание.код_врача" - "table2.column2".
 
3) Оберните запрос в синтаксис функции, указав имя функции, параметры и тело функции (запрос). Например, вы можете создать функцию следующим образом:
CREATE FUNCTION getUniqueDoctors(table1, column1, table2, column2)
RETURNS TABLE (код_врача INT, имя_врача VARCHAR(255))
BEGIN
RETURN (SELECT DISTINCT код_врача, имя_врача
FROM врачи
WHERE NOT EXISTS (
SELECT обслуживание.код
				
							1) Определите параметры функции, которые будут использоваться в запросе. Например, в данном случае вам может потребоваться параметр для таблицы "обслуживание" и для таблицы "врачи".
2) Замените названия таблиц и колонок в запросе на параметры функции. Например, вместо "врачи.код_врача" вы можете использовать "table1.column1", а вместо "обслуживание.код_врача" - "table2.column2".
3) Оберните запрос в синтаксис функции, указав имя функции, параметры и тело функции (запрос). Например, вы можете создать функцию следующим образом:
CREATE FUNCTION getUniqueDoctors(table1, column1, table2, column2)
RETURNS TABLE (код_врача INT, имя_врача VARCHAR(255))
BEGIN
RETURN (SELECT DISTINCT код_врача, имя_врача
FROM врачи
WHERE NOT EXISTS (
SELECT обслуживание.код
Если это PL/SQL, то это Оракул.
А он к нелатинским названиям идентификаторов относится более чем скептически.
Поэтому не получится.
Но если добавить кавычек, то так:
				
							А он к нелатинским названиям идентификаторов относится более чем скептически.
Поэтому не получится.
Но если добавить кавычек, то так:
 CREATE OR REPLACE FUNCTION SOME_FUN()
RETURN REF CURSOR
AS
DECLARE
RESULT REF CURSOR;
BEGIN
OPEN RESULT FOR 'SELECT DISTINCT "код_врача", "имя_врача" 
FROM "врачи" 
WHERE NOT EXISTS ( 
SELECT "обслуживание"."код_врача" 
FROM "обслуживание" 
WHERE "Обслуживание"."код_врача" = "врачи"."код_врача")';
RETURN RESULT;
END; Вы можете сделать этот запрос в функцию следующим образом:
				
							 CREATE OR REPLACE FUNCTION get_distinct_doctors() 
RETURN TABLE (код_врача INTEGER, имя_врача VARCHAR2) 
AS 
BEGIN 
  RETURN QUERY 
  SELECT DISTINCT код_врача, имя_врача  FROM врачи  WHERE NOT EXISTS (  SELECT обслуживание.код_врача  FROM обслуживание  WHERE Обслуживание.код_врача = врачи.код_врача); 
END; 
 В этой функции мы создаем табличное значение с двумя столбцами: код_врача и имя_врача. Затем мы используем ключевое слово RETURN QUERY для возврата результата запроса. Таким образом, функция вернет таблицу с кодами и именами всех уникальных врачей, которые не оказывают услуги.Похожие вопросы
- Добрый день! Помогите пожалуйста сообразить, как написать запрос
- Помогите пожалуйста составить sql запрос
- Помогитес sql кодом, пожалуйста!
- Вопрос по SQL. Помогите понять решение задачи
- Помогите написать sql запросы
- Не очень понятен синтаксис запросов SQL
- SQL-запрос Вывести идентификаторы всех владельцев комнат
- SQL запрос Найдите какой процент пользователей, зарегистрированных на сервисе бронирования
- Sql запрос создания таблицы
- Помогите решить SQL задачки?
 
			 
						 
						