English 中文(简体)
如何使用Pursor Loop记录中压缩栏目
原标题:How to access concatenated columns in Record using FOR Cursor Loop

用 cur子使用记录,然后按表格分列。

DECLARE CURSOR emp_cur IS
    SELECT employee_id, first_name||   || last_name "name"
    FROM employees 
    ORDER BY salary desc;

emp_rec emp_cur%ROWTYPE;

BEGIN 
    FOR emp_rec IN emp_cur
    LOOP
        DBMS_OUTPUT.PUT_LINE( Employee ID: ||emp_rec.employee_id||CHR(10)||
                              Employee Name: ||emp_rec.name);
        EXIT WHEN emp_cur%ROWCOUNT = 10;
    END LOOP;
END;

当我凌驾于法典之上时,我会发现:

 ERROR at line 13, "NAME" must be declared.

我如何能够进入第一栏——姓名在座右边——姓名? 或者我是否只得做传统的欧安普林、简单的 lo、快乐和关闭?

最佳回答

You re very close; the problem is just that identifiers that are not in double-quotes get converted to uppercase, while identifiers that are in double-quotes do not. So name, NAME, and "NAME" are equivalent to each other, and all of them are different from "name". Either change this:

first_name||   || last_name "name"

为此:

first_name||   || last_name name

或者,如果你更愿意,则改变:

 Employee Name: ||emp_rec.name

为此:

 Employee Name: ||emp_rec."name"
问题回答

暂无回答




相关问题
Export tables from SQL Server to be imported to Oracle 10g

I m trying to export some tables from SQL Server 2005 and then create those tables and populate them in Oracle. I have about 10 tables, varying from 4 columns up to 25. I m not using any constraints/...

Connecting to Oracle 10g with ODBC from Excel VBA

The following code works. the connection opens fine but recordset.recordCount always returns -1 when there is data in the table. ANd If I try to call any methods/properties on recordset it crashes ...

How to make a one to one left outer join?

I was wondering, is there a way to make a kind of one to one left outer join: I need a join that matches say table A with table B, for each record on table A it must search for its pair on table B, ...

Insert if not exists Oracle

I need to be able to run an Oracle query which goes to insert a number of rows, but it also checks to see if a primary key exists and if it does, then it skips that insert. Something like: INSERT ALL ...

How can I store NULLs in NOT NULL field?

I just came across NULL values in NOT-NULL fields in our test database. How could they get there? I know that NOT-NULL constraints can be altered with NOVALIDATE clause, but that would change table s ...

Type reference scope

I m studying databases and am currently working on a object-relational DB project and I ve encountered a small problem with the number of possible constraints in an object table. I m using "Database ...

OracleParameter and DBNull.Value

we have a table in an Oracle Database which contains a column with the type Char(3 Byte). Now we use a parameterized sql to select some rows with a DBNull.Value and it doesn t work: OracleCommand ...

热门标签