Error Code: 1415 Not allowed to return a result set from a function
Este erro ocorre devido a ausência do comando INTO
DELIMITER $$
CREATE FUNCTION obter_nome_(cd_pessoa INT(11)) RETURNS VARCHAR(150) CHARSET latin1
DETERMINISTIC
BEGIN
DECLARE nm_pessoa_r VARCHAR(150);
IF (cd_pessoa_e IS NOT NULL) THEN
SELECT
p.nm_pessoa
INTO
nm_pessoa_r
FROM
pessoa p
WHERE p.cd_pessoa = cd_pessoa_e
;
END IF;
RETURN nm_pessoa_r;
END$$
Para usar o SQLPlus, é necessário ter instalado o Client do Oracle com a opção de Administrador e configurado o arquivo TNSNAMES (C:\app\product\versão client\client\network\admin\tnsnames.ora)
Para conectar/abrir o SQL Plus, você deverá acessar a o command e digitar sqlplus, em seguida será solicitado o usuário e senha.
Você pode acessar de duas formas, sendo na primeira, digitar por completo incluindo usuário e senha:
sqlplus.exe username/password@servicename
Na segunda opção, apenas o usuário e nome do serviço;
username@servicename
Tecle enter e digite a senha em seguida.
Conectar com usuário que possui permissão.
Digite @ e o nome do arquivo .sql para executá-lo:
SQL > @arquivo.sql
Se for em um diretório especifico você deve informar.
SQL > @c:/arquivo.sql
Atualização do post em 12/05/2020.
Para executar vários arquivos, você precisa criar um arquivo com a lista dos outros arquivos a serem executados. Exemplo:
Criei 3 arquivos, sendo; a.sql
b.sql
e o arquivo teste.sql
Ao chamar o arquivo teste.sql, ele irá chamar os arquivos a.sql e b.sql.
Para gerar um arquivo de saída com adicione o comando abaixo:
@teste.sql > out.txt
Caso precise escapar erros de caracteres especiais, adicione os comandos abaixo no inicio do arquivo com o SQL.