未显示结果的记录

问题描述 投票:0回答:1
CREATE TABLE manager (
      mgrid        INT PRIMARY KEY,
      fname        VARCHAR2(50),
      city         VARCHAR2(50)
);

以上是经理表。

& 下面是我写的获取记录的代码。

DECLARE
      TYPE mgr_info IS RECORD (
            mgrid   manager.mgrid%TYPE,
            fname  manager.fname%TYPE,
            city   manager.city%TYPE
      );
        mgr    mgr_info;
        id   manager.mgrid%TYPE;
        name  manager.fname%TYPE;
        mcity   manager.city%TYPE;
BEGIN
      SELECT
            mgrid,
            fname,
            city
      INTO mgr
      FROM
            manager
      WHERE
            city = 'Mumbai';

      id := mgr.mgrid;
      name := mgr.fname;
      mcity := mgr.city;
      dbms_output.put_line('Manager ID = '
                           || id
                           || ' || Manager Name = '
                           || name
                           || ' || City = '
                           || mcity);

EXCEPTION
      WHEN no_data_found THEN
            dbms_output.put_line('No Matching Record Found');
      WHEN too_many_rows THEN
            dbms_output.put_line('More than one matching Record Found');
END;
/

问题是我无法得到正确的输入,即使我有一行是住在孟买市的经理。

什么是我没有做,我不能得到正确的输出。

This is the output I am getting

下面是该表的输入。

insert into manager values(101,'mohan','jaipur');
insert into manager values(102,'sohan','surat');
insert into manager values(103,'rohan', 'delhi');
insert into manager values(104,'jagmohan','mumbai');
sql oracle oracle10g record
1个回答
1
投票

该表有 Mumbai,选择使用 mumbai. 案情不同。@小脚是对的,问的是 INSERT 报表,如果没有他们,我们也帮不上忙。

如果你想知道 SELECT 工作,你需要将表和查询都折叠成相同的情况。

WHERE lower(city) = lower('Mumbai')
© www.soinside.com 2019 - 2024. All rights reserved.