面试总结-1
2016-03-01 18:55
836 查看
1.编程题plsql实现
CREATE ORREPLACE PROCEDURE GET(AIN
VARCHAR2,
B INVARCHAR2,
C OUTVARCHAR2)
IS
N_COUNT C_CONS.CONS_ID%TYPE;
S_SQL VARCHAR2(256);
BEGIN
/*
--create table
CREATE TABLETAB_TEST(ID NUMBER, TYPE1 VARCHAR2(32), TYPE2 VARCHAR2(32), TIME VARCHAR2(8))
-- Createsequence
CREATE SEQUENCETEST MINVALUE 1000000000 MAXVALUE 9999999999999999999999999999 START
WITH 1000000021INCREMENT BY 1 CACHE 20;
*/
S_SQL :=
'INSERT INTO TAB_TESTVALUES(TEST.NEXTVAL,''' || A||
''',''' || B
||
''',TO_CHAR(SYSDATE,''YYYYMMDD''))';
EXECUTE
IMMEDIATE S_SQL;
COMMIT;
SELECT
COUNT(1)
INTO N_COUNT
FROM TAB_TEST
WHERE TYPE1
= A
AND TYPE2
= B;
C := A
|| B || TO_CHAR(SYSDATE,'YYYYMMDD')
|| LPAD(N_COUNT,6,
0);
END GET;
2.plsql中使用%type和%rowtype的区别
%type定义一个变量,其数据类型与已经定义的某个数据变量的类型相同,或者与数据库表的某个列的数据类型相同使用%type的优点在于
a.可以不必知道所引用的数据库列的数据类型
b.所引用的数据库列的数据类型可以随时改变
N_COUNT C_CONS.CONS_ID%TYPE;
%rowtype则是返回一个记录,其数据类型和数据库表的数据结构相一致,同样其优点在于
a.可以不必知道所引用的列的个数和类型
b.所引用的列的个数和类型可以改变
示例
a.tablename%rowtype
DECLARE
T1 C_CONS%ROWTYPE;
BEGIN
SELECT
* INTO T1 FROM C_CONSWHERE
ROWNUM =
1;
DBMS_OUTPUT.PUT_LINE(T1.CONS_NO);
END;
b.游标
DECLARE
CURSOR CUR
IS
SELECT CONS_NO, CONS_IDFROM C_CONS
WHERE1
= 2;
T1 CUR%ROWTYPE;
BEGIN
DBMS_OUTPUT.PUT_LINE(T1.CONS_ID);
END;
3.使用过程创建测试用表(sql%rowcount)
CREATE ORREPLACEPROCEDURE GET_BIGTABLE(L_ROWS IN
NUMBER,
OUT_CODE
OUT VARCHAR2)IS
L_COUNT NUMBER;
BEGIN
INSERT /*+ APPEND */
INTO BIG_TABLE
SELECT ROWNUM, A.*FROM ALL_OBJECTS A
WHERE ROWNUM< L_ROWS;
L_COUNT :=
SQL%ROWCOUNT;
COMMIT;
WHILE
(L_COUNT < L_ROWS)LOOP
INSERT
INTO BIG_TABLE
SELECT ROWNUM
+ L_COUNT, A.*
FROM ALL_OBJECTS A
WHERE ROWNUM
<= L_ROWS - L_COUNT;
L_COUNT:=L_COUNT+SQL%ROWCOUNT;
END LOOP;
END GET_BIGTABLE;
其中sql%rowcount用户记录修改的行数,需要注意的是,其必须要放在commit之前。
相关文章推荐
- 新历程,新开始,开始找工作了^_^
- java程序员认证考试题库
- 面试题之算法与编程
- 一道面试题引发的对数据类型转换的思考
- 第二次作为面试官
- 操作系统常见面试题
- 程序员如何谋划出月薪3万
- 栈的压入、弹出序列(剑指offer面试题)
- 程序员会被淘汰吗?
- 程序员会被淘汰吗?
- 程序员会被淘汰吗?
- 【总结】PHP常见面试题汇总(三)
- FAQ 前端面试大杂烩2
- 程序员才看得明白的面试圣经
- 苦逼码农与老板关于加薪的斗智斗勇
- Java程序员修炼之道 之 Logging(3/3) - 怎么分析Log
- Java程序员修炼之道 之 Logging(2/3) - 怎么写Log
- Java程序员修炼之道 之 Logging(1/3) - Logback 配置
- 分享一道JS前端闭包面试题
- java高级面试题1