我得到了我的第一个经验与Oracle和TOAD(我知道SSMS)。我在更新过程中遇到一个输入参数旁边的“%Type”,我不知道它是什么或它的意思。我发现Google上的链接与“%Rowtype”有关。是同样的东西还是完全不同的东西?
如果这是模糊的,我道歉。一如既往,感谢您的帮助。
Oracle(和
PostgreSQL)有:
>%TYPE
>%ROWTYPE
%类型
%TYPE用于声明与现有表中的列的数据类型相关的变量:
DECLARE v_id ORDERS.ORDER_ID%TYPE
这里的好处是,如果数据类型改变,则可变数据类型保持同步。
参考:http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/fundamentals.htm#i6080
%ROWTYPE
DECLARE CURSOR c1 IS SELECT last_name,salary,hire_date,job_id FROM employees WHERE employee_id = 120; -- declare record variable that represents a row fetched from the employees table employee_rec c1%ROWTYPE; BEGIN -- open the explicit cursor and use it to fetch data into employee_rec OPEN c1; FETCH c1 INTO employee_rec; DBMS_OUTPUT.PUT_LINE('Employee name: ' || employee_rec.last_name); END; /