Questões sobre PL-SQL

Lista completa de Questões sobre PL-SQL para resolução totalmente grátis. Selecione os assuntos no filtro de questões e comece a resolver exercícios.

Em um ambiente Oracle, em condições ideais, um Analista precisa criar uma consulta para exibir o nome e o salário dos funcionários cujos números de departamento e salários correspondam a números de departamento e salários de funcionários que ganham comissão. Considerando que os campos usados na instrução existem na tabela colaboradores, a instrução PL/SQL correta que o Analista deve utilizar é:

    A) SELECT nome, salario FROM colaboradores WHERE (salario, idDepartamento) HAVE comissao NOT NULL;

    B) SELECT nome, salario FROM colaboradores WHERE (salario, idDepartamento) = (SELECT salario, idDepartamento FROM colaboradores WHERE comissao IS NOT NULL);

    C) SELECT nome, salario FROM colaboradores WHERE (salario, idDepartamento) IN (SELECT salario, idDepartamento FROM colaboradores WHERE comissao IS NOT NULL);

    D) SELECT nome, salario FROM colaboradores WHERE (comissão!=0 OR comissão IS NOT NULL);

    E) SELECT nome, salario FROM colaboradores WHERE (salario, idDepartamento) IS (SELECT salario, idDepartamento FROM colaboradores WHERE comissao!=0);

Considere o bloco PL/SQL abaixo, em um ambiente Oracle em condições ideais.


DECLARE vColNo colaborador.idColaborador%TYPE := 371;

vAst colaborador.estrelas%TYPE := NULL;

vSal colaborador.salario%TYPE;

BEGIN

SELECT NVL(ROUND(salario/5000), 0) INTO vSal

FROM colaborador WHERE idColaborador = vColNo;

..I..

UPDATE colaborador SET estrelas = vAst

WHERE idColaborador = vColNo;

COMMIT;

END;

/


Para adicionar um asterisco na coluna estrelas para cada R$5000 do salário do funcionário (se o número for 10.000, existirão 2 asteriscos, por exemplo), a lacuna I acima deve ser preenchida por

    A)

    FOR i:=0 TO vSal.length STEP 1

    BEGIN

    vAst:= vAst + ' * ' ;

    END FOR;



    B)

    FOR i IN 1.. vSal

    LOOP

    vAst:= vAst | | ' * ' ;

    END LOOP;



    C)

    VAR i:=1

    WHILE(i <= vSal.lenght)

    BEGIN

    vAst:= vAst | | ' * ' ;

    i ++ ;

    END WHILE;



    D)

    FOR i:=0 TO vSal.lenght STEP 1

    LOOP

    vAst:= vAst + ' * ' ;

    END LOOP;



    E)

    FOR i IN 0.. vSal STEP 1

    BEGIN

    vAst:= vAst + ' * ' ;

    END;



Considere o programa PL/SQL abaixo, criado em um ambiente Oracle em condições ideais.


VARIABLE resultado NUMBER

BEGIN

SELECT (salario*12) + NVL(comissao,0) INTO ..I..

FROM colaboradores WHERE id_colaborador = 255;

END;

/

PRINT resultado


A forma correta de inserir a variável de bind (criada em um ambiente de host) resultado na lacuna I acima é:

    A)

    >>resultado



    B) $resultado

    C) !resultado

    D) #resultado

    E) :resultado

No SQL Server (T-SQL) e no Oracle (PL/SQL), para converter um valor nulo para um valor numérico real, utilizam-se, respectivamente, as funções:

    A) NVL e ISNULL.

    B) AVG e NVL.

    C) ISNULL e NULL.

    D) ISNULL e NVL.

    E) NULLIF e COALESCE.

Considere a função PL/SQL abaixo, criada no Oracle, em ambiente ideal.


CREATE OR REPLACE FUNCTION obterDados (

vSal IN colaborador.salario%TYPE,

vAdicional IN colaborador.adicional%TYPE)

RETURN NUMBER IS

BEGIN

..I..

END obterDados;

/


O objetivo da função é retornar o salário anual calculado a partir do salário mensal e do adicional (extra) de um funcionário, utilizando a fórmula (salário do funcionário * 12) + (adicional recebido * salário * 12). Para que a função realize a operação desejada, a lacuna I acima deverá ser preenchida por:

    A) this.salario:= (vSal * 12) + (vAdicional * vSal * 12);

    B) RETURN (NVL(vSal,0) * 12 + (NVL(vAdicional,0) * NVL(vSal,0) * 12));

    C) salario:=(NVL(vSal,0) * 12 + (NVL(vAdicional,0) * NVL(vSal,0) * 12));

    D) RETURN (ROUNDTO(vSal,2) * 12 + (ROUNDTO(vAdicional,2) * ROUNDTO(vSal,2) * 12));

    E) RETURN (DECIMAL(vSal,2) * 12 + (DECIMAL(vAdicional,2) * DECIMAL(vSal,2) * 12));


    A) faz uso de database link.

    B) tem a função de criar o objeto procedure no banco de dados Oracle

    C) apresenta um erro de sintaxe na linha 3, pois a linguagem PL/SQL não admite atribuir nomes idênticos para usuário e esquema.

    D) envia o conteúdo da tabela TJ_PA para o email [email protected], conforme instrução na linha 5.

    E) utiliza a tabela particionada ATUALIZA_CARTORIO, conforme indica o comando INSTEAD OF na linha 1.

Provas e Concursos

O Provas e Concursos é um banco de dados de questões de concursos públicos organizadas por matéria, assunto, ano, banca organizadora, etc

{TITLE}

{CONTENT}

{TITLE}

{CONTENT}
Provas e Concursos
0%
Aguarde, enviando solicitação!

Aguarde, enviando solicitação...