输入获取地址的ID SQL或PL / SQL

问题描述

我想马上说我使用翻译,因为我只会说俄语,但是会说一点英语。

我最近找到了一份工作,据说我需要用sql进行一些简单的查询

但是,出了点问题,我对自己至少知道有些东西失去了信心。而且我不想丢掉我的工作。

任务: 我的老板告诉我要做一个听起来像这样的任务: ID出现了,您需要输入ID并获取客户的地址。


由于我的雇主使用Oracle,所以我认为此任务是通过PL / sql完成的。还是使用sql在不了解PL / sql编程语言的情况下完成?

还请告诉我,sql和PL / sql中使用的函数,过程,游标之间是否有区别?

我之所以问这个问题,是因为我的老板告诉我要阅读它们,而当我寻找机会和提示来完成这项任务时,我发现这些主题都包含在PL / sql中。

>

不幸的是,我还没有阅读站点规则,因为根本没有时间处理所有事情,但是如果您可以在此处使用指向资源或书籍的链接,请直接给我指导。

抱歉,如果您不清楚我的问题,任务和故事。

一旦我掌握了一切,我将开始学习英语,不仅要成为世界的一部分,而且要成为这个社区的正式成员。

祝您一切顺利。拥抱。

解决方法

翻译清楚。

PL / SQL是SQL的过程语言(PL / SQL)。

用最简单的术语(我认为这可以帮助您作为初学者理解):

  • 过程用于从一个或多个表中插入,更新,删除,选择数据。

  • 函数用于返回

在您的情况下,我将创建一个具有ID参数的过程,然后在该过程中,我将使用该参数作为条件从表中查询( select )数据使用PL / SQL。

,

尽管Oracle 10g是旧版软件,但我喜欢它的Documentation页,因此建议您仔细阅读一下。 (当然,请随时阅读与您的数据库版本有关的文档。)

在“最受欢迎”部分中,阅读

    首先预订
  • 概念以了解什么是Oracle
  • SQL参考以学习SQL命令
  • PL / SQL用户指南和参考以了解什么是PL / SQL(如果正确学习SQL,则学习PL / SQL会更容易)
  • 我认为
  • 应用程序开发人员指南-基本原理超有用的

在完成任务时,您会得到一个:函数,该函数接受ID作为参数并返回地址。我没有您的表,因此我将使用Scott的示例架构及其EMP表进行说明-我将传递员工编号并返回其工作。

SQL> select * from emp where deptno = 10;

     EMPNO ENAME      JOB              MGR HIREDATE        SAL       COMM     DEPTNO
---------- ---------- --------- ---------- -------- ---------- ---------- ----------
      7782 CLARK      MANAGER         7839 09.06.81       2450                    10
      7839 KING       PRESIDENT            17.11.81      10000                    10
      7934 MILLER     CLERK           7782 23.01.82       1300                    10

SQL> create or replace function f_emp (par_empno in emp.empno%type)
  2    return emp.job%type
  3  is
  4    retval emp.job%type;
  5  begin
  6    select e.job
  7      into retval
  8      from emp e
  9      where e.empno = par_empno;
 10
 11    return retval;
 12
 13  exception
 14    when no_data_found then
 15      return 'No such employee';
 16  end;
 17  /

Function created.

SQL> select f_emp(7782) result from dual;

RESULT
---------------------------------------------------------------------------------------------

MANAGER

SQL>