- 浏览: 370170 次
- 性别:
- 来自: Alien
文章分类
最新评论
-
风一样的男人__:
[flash=200,200][url]引用[/url][/f ...
java线程内存模型,线程、工作内存、主内存 -
极乐君:
厉害了,,,请问可以转载到我们专栏吗?会注明来源和地址的~专栏 ...
java线程内存模型,线程、工作内存、主内存 -
zdd001:
Spring 线程池使用 -
zdd001:
Spring 线程池使用 -
u014663756:
看了三行就知道是我想要的!!
java线程内存模型,线程、工作内存、主内存
select (case when nvl(max(catgroup_id),1)=1 then 1 else max(catgroup_id) end) from catgroup;
从查到分类表,如果分类表中的最大的catgroup是空的,哪么它等于1,否则查询最大值给分类表
1>有两个现x_user_out ,x_user_in 现在要把1表中的数据迁移2表中,
如果1中表的cnname不为空,则flag 为1,如果cnname存在则更新表1
日志文件:x_brand_log
create table X_USER_IN
(
ID NUMBER,
CNNAME VARCHAR2(200),
OTHERNAME VARCHAR2(100),
FLAG NUMBER
)
create table X_USER_out
(
ID NUMBER,
CNNAME VARCHAR2(200),
OTHERNAME VARCHAR2(100),
FLAG NUMBER
)
create table X_BRAND_LOG
(
TABLENAME VARCHAR2(20),
ACTIONTYPE VARCHAR2(20),
RESULT VARCHAR2(20),
V_ERRORCODE VARCHAR2(256),
V_ERRORINFO VARCHAR2(256),
REMARK VARCHAR2(100)
)
out 为返回值,in为入参
建立存储过程
create or replace procedure x_test_user(UserID out number,
UserName in varchar2,
UserAge in varchar2) is
Type curType Is Ref Cursor;
v_id user_out.id%TYPE;
v_cnname user_out.cnname%TYPE;
v_othername user_out.othername%TYPE;
x_date curType;
v_sql varchar2(200);
v_flag number;
v_errorinfo varchar2(200);
v_errorcode varchar2(200);
v_Count number;
begin
v_sql := 'select id,cnname,othername from x_user_out';
open x_date For v_sql;
Loop
fetch x_date
Into v_id, v_cnname, v_othername;
Exit When x_date%Notfound;
if v_cnname is not null then
v_flag := 0;
else
v_flag := 1;
end if;
select count(1) into V_count from x_user_in where cnname = v_cnname;
if (V_count <= 0) then
insert into x_user_in
(id, cnname, othername, flag)
values
(test_seq.nextval, v_cnname, v_othername, v_flag);
v_errorinfo := substr(sqlerrm, 0, 100);
v_errorcode := substr(sqlcode, 0, 100);
insert into X_BRAND_LOG
(V_ERRORCODE, ACTIONTYPE, v_errorinfo, gmt_date)
values
(v_errorcode, 'success', v_errorcode, sysdate);
else
update x_user_in set othername = v_othername where cnname = v_cnname;
UserID:=1;
reutrn ;
end if;
End loop commit;
EXCEPTION
WHEN NO_DATA_FOUND THEN
rollback;
v_errorinfo := substr(sqlerrm, 0, 100);
v_errorcode := substr(sqlcode, 0, 100);
insert into X_BRAND_LOG
(V_ERRORCODE, ACTIONTYPE, v_errorinfo, gmt_date)
values
(v_errorinfo, 'failed', v_errorcode, sysdate);
commit;
WHEN OTHERS THEN
rollback;
v_errorinfo := substr(sqlerrm, 0, 100);
v_errorcode := substr(sqlcode, 0, 100);
insert into X_BRAND_LOG
(V_ERRORCODE, ACTIONTYPE, v_errorinfo, gmt_date)
values
(v_errorinfo, 'failed', v_errorcode, sysdate);
commit;
end x_test_user;
在PLSQL中执行
declare
a number;
begin
x_test_user(a,'张利华','jak');
end;
3返回值问题
1.public int Analyze1(String examid, String courseid, String gradeid,
2. String KeMu) {
3. String procedure = "{call teaching.dbo.A1(?,?,?,?,?)}";
4. int result = 0;
5. CallableStatement cstmt;
6. try {
7. Session session = this.getSession();
8. Connection con = session.connection();
9. cstmt = con.prepareCall(procedure);
10. cstmt.setString(1, gradeid);
11. cstmt.setString(2, examid);
12. cstmt.setString(3, courseid);
13. cstmt.setString(4, KeMu);
14.
15. cstmt.registerOutParameter(5,java.sql.Types.INTEGER);
16. cstmt.executeUpdate();
17. result = cstmt.getInt(5); [color=red][/color]
18. //session.close();
19. } catch (SQLException e) {
20. e.printStackTrace();
21. }
22. return result;
23. }
oracle 存储过程的基本语法 (转)
1.基本结构
CREATE OR REPLACE PROCEDURE 存储过程名字
(
参数1 IN NUMBER,
参数2 IN NUMBER
) IS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
END 存储过程名字
2.SELECT INTO STATEMENT
将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
例子:
BEGIN
SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx;
EXCEPTION
WHEN NO_DATA_FOUND THEN
xxx;
END;
...
3.IF 判断
IF V_TEST=1 THEN
BEGIN
do something
END;
END IF;
4.while 循环
WHILE V_TEST=1 LOOP
BEGIN
XXXX
END;
END LOOP;
5.变量赋值
V_TEST := 123;
6.用for in 使用cursor
...
IS
CURSOR cur IS SELECT * FROM xxx;
BEGIN
FOR cur_result in cur LOOP
BEGIN
V_SUM :=cur_result.列名1+cur_result.列名2
END;
END LOOP;
END;
7.带参数的cursor
CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;
OPEN C_USER(变量值);
LOOP
FETCH C_USER INTO V_NAME;
EXIT FETCH C_USER%NOTFOUND;
do something
END LOOP;
CLOSE C_USER;
8.用pl/sql developer debug
连接数据库后建立一个Test WINDOW
在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试
一个实例(转)
24.CREATE OR REPLACE PACKAGE BODY PY_PCKG_REFUND2 AS
25.
26. PROCEDURE PY_WEBREFUND_VISA_PREPARE (
27. in_serialNoStr IN VARCHAR2, --用"|"隔开的一组网上退款申请流水号
28. in_session_operatorid IN VARCHAR2,--业务操作员
29. out_return_code OUT VARCHAR2, --存储过程返回码
30. out_visaInfoStr OUT VARCHAR2
31. ) IS
32. --变量声明
33. v_serialno VARCHAR2(20);--网上退款申请流水号
34. v_refserialno VARCHAR2(20);--支付交易流水号
35. v_tobankOrderNo VARCHAR2(30);--上送银行的订单号
36. v_orderDate VARCHAR2(8);--订单日期
37. v_businessType VARCHAR2(10);--业务类型
38. v_currType VARCHAR2(3);--订单类型(ET-电子机票)
39. v_merno VARCHAR2(15);--商户号
40. v_orderNo VARCHAR2(20);--商户订单号
41. v_orderState VARCHAR2(2);
42. v_refAmount NUMBER(15,2);--退款金额
43. v_tranType VARCHAR(2);--交易类型
44. v_bank VARCHAR2(10);--收单银行
45. v_date VARCHAR2 (8);--交易日期
46. v_time VARCHAR2 (6);--交易时间
47. v_datetime VARCHAR2 (14);--获取的系统时间
48. v_index_start NUMBER;
49. v_index_end NUMBER;
50. v_i NUMBER;
51. BEGIN
52. -- 初始化参数
53. out_visaInfoStr := '';
54. v_i := 1;
55. v_index_start := 1;
56. v_index_end := INSTR(in_serialNoStr,'|',1,1);
57. v_refserialno := SUBSTR(in_serialNoStr, v_index_start, v_index_end-1);
58. v_datetime := TO_CHAR (SYSDATE, 'yyyymmddhh24miss');
59. v_date := SUBSTR (v_datetime, 1,;
60. v_time := SUBSTR (v_datetime, 9, 14);
61.
62. --从退款请求表中查询定单信息(商户号、商户订单号、退款金额)
63. WHILE v_index_end > 0 LOOP
64. SELECT
65. WEBR_MERNO,
66. WEBR_ORDERNO,
67. WEBR_AMOUNT,
68. WEBR_SERIALNO,
69. WEBR_REFUNDTYPE
70. INTO
71. v_merno,
72. v_orderNo,
73. v_refAmount,
74. v_serialno,
75. v_tranType
76. FROM
77. PY_WEB_REFUND
78. WHERE
79. WEBR_REFREQNO = v_refserialno;
80.
81. --将查询到的数据组成串
82. out_visaInfoStr := out_visaInfoStr || v_merno || '~' || v_orderNo || '~' || v_refAmount + '|';
83.
84. --为下次循环做数据准备
85. v_i := v_i + 1;
86. v_index_start := v_index_end + 1;
87. v_index_end := INSTR(in_serialNoStr,'|',1,v_i);
88. IF v_index_end > 0 THEN
89. v_refserialno := SUBSTR(in_serialNoStr, v_index_start, v_index_end - 1);
90. END IF;
91.
92. --根据原支付流水号在流水表中查询该订单的信息,包括原上送银行或第三方的订单号:WTRN_TOBANKORDERNO
93. SELECT
94. WTRN_TOBANKORDERNO,
95. WTRN_ORDERNO,
96. WTRN_ORDERDATE,
97. WTRN_BUSINESSTYPE,
98. WTRN_ACCPBANK,
99. WTRN_TRANCURRTYPE
100. INTO
101. v_tobankOrderNo,
102. v_orderNo,
103. v_orderDate,
104. v_businessType,
105. v_bank,
106. v_currType
107. FROM PY_WEBPAY_VIEW
108. WHERE WTRN_SERIALNO = v_serialno;
109.
110. --记录流水表(退款)
111. INSERT INTO PY_WEBPAY_TRAN(
112. WTRN_SERIALNO,
113. WTRN_TRANTYPE,
114. WTRN_ORIGSERIALNO,
115. WTRN_ORDERNO,
116. WTRN_ORDERDATE,
117. WTRN_BUSINESSTYPE,
118. WTRN_TRANCURRTYPE,
119. WTRN_TRANAMOUNT,
120. WTRN_ACCPBANK,
121. WTRN_TRANSTATE,
122. WTRN_TRANTIME,
123. WTRN_TRANDATE,
124. WTRN_MERNO,
125. WTRN_TOBANKORDERNO
126. )VALUES(
127. v_refserialno, --和申请表的流水号相同,作为参数传人
128. v_tranType,
129. v_serialno, --原交易流水号,查询退款申请表得到
130. v_orderNo,
131. v_orderDate,
132. v_businessType,
133. v_currType,
134. v_refAmount,
135. v_bank,
136. '1',
137. v_time,
138. v_date,
139. v_merno,
140. v_tobankOrderNo --上送银行的订单号,查询流水表得到
141. );
142.
143. --更新网上退款申请表
144. UPDATE PY_WEB_REFUND
145. SET
146. WEBR_IFDISPOSED = '1',
147. WEBR_DISPOSEDOPR = in_session_operatorid,
148. WEBR_DISPOSEDDATE = v_datetime
149. WHERE
150. WEBR_REFREQNO = v_refserialno;
151.
152. --更新定单表
153. IF v_tranType = '2' THEN
154. v_orderState := '7';
155. ELSE
156. v_orderState := '10';
157. END IF;
158.
159. UPDATE PY_ORDER
160. SET
161. ORD_ORDERSTATE = v_orderState
162. WHERE
163. ORD_ORDERNO = v_orderNo
164. AND ORD_ORDERDATE = v_orderDate
165. AND ORD_BUSINESSTYPE = v_businessType;
166. END LOOP;
167.
168. -- 异常处理
169. EXCEPTION
170. WHEN OTHERS THEN
171. ROLLBACK;
172. out_return_code := '14001';
173. RETURN;
174. END;
175.
176.END PY_PCKG_REFUND2;
177./
DBMS_OUTPUT.put_line( "putline====== ");--换行 end; 打印功能
从查到分类表,如果分类表中的最大的catgroup是空的,哪么它等于1,否则查询最大值给分类表
1>有两个现x_user_out ,x_user_in 现在要把1表中的数据迁移2表中,
如果1中表的cnname不为空,则flag 为1,如果cnname存在则更新表1
日志文件:x_brand_log
create table X_USER_IN
(
ID NUMBER,
CNNAME VARCHAR2(200),
OTHERNAME VARCHAR2(100),
FLAG NUMBER
)
create table X_USER_out
(
ID NUMBER,
CNNAME VARCHAR2(200),
OTHERNAME VARCHAR2(100),
FLAG NUMBER
)
create table X_BRAND_LOG
(
TABLENAME VARCHAR2(20),
ACTIONTYPE VARCHAR2(20),
RESULT VARCHAR2(20),
V_ERRORCODE VARCHAR2(256),
V_ERRORINFO VARCHAR2(256),
REMARK VARCHAR2(100)
)
out 为返回值,in为入参
建立存储过程
create or replace procedure x_test_user(UserID out number,
UserName in varchar2,
UserAge in varchar2) is
Type curType Is Ref Cursor;
v_id user_out.id%TYPE;
v_cnname user_out.cnname%TYPE;
v_othername user_out.othername%TYPE;
x_date curType;
v_sql varchar2(200);
v_flag number;
v_errorinfo varchar2(200);
v_errorcode varchar2(200);
v_Count number;
begin
v_sql := 'select id,cnname,othername from x_user_out';
open x_date For v_sql;
Loop
fetch x_date
Into v_id, v_cnname, v_othername;
Exit When x_date%Notfound;
if v_cnname is not null then
v_flag := 0;
else
v_flag := 1;
end if;
select count(1) into V_count from x_user_in where cnname = v_cnname;
if (V_count <= 0) then
insert into x_user_in
(id, cnname, othername, flag)
values
(test_seq.nextval, v_cnname, v_othername, v_flag);
v_errorinfo := substr(sqlerrm, 0, 100);
v_errorcode := substr(sqlcode, 0, 100);
insert into X_BRAND_LOG
(V_ERRORCODE, ACTIONTYPE, v_errorinfo, gmt_date)
values
(v_errorcode, 'success', v_errorcode, sysdate);
else
update x_user_in set othername = v_othername where cnname = v_cnname;
UserID:=1;
reutrn ;
end if;
End loop commit;
EXCEPTION
WHEN NO_DATA_FOUND THEN
rollback;
v_errorinfo := substr(sqlerrm, 0, 100);
v_errorcode := substr(sqlcode, 0, 100);
insert into X_BRAND_LOG
(V_ERRORCODE, ACTIONTYPE, v_errorinfo, gmt_date)
values
(v_errorinfo, 'failed', v_errorcode, sysdate);
commit;
WHEN OTHERS THEN
rollback;
v_errorinfo := substr(sqlerrm, 0, 100);
v_errorcode := substr(sqlcode, 0, 100);
insert into X_BRAND_LOG
(V_ERRORCODE, ACTIONTYPE, v_errorinfo, gmt_date)
values
(v_errorinfo, 'failed', v_errorcode, sysdate);
commit;
end x_test_user;
在PLSQL中执行
declare
a number;
begin
x_test_user(a,'张利华','jak');
end;
3返回值问题
1.public int Analyze1(String examid, String courseid, String gradeid,
2. String KeMu) {
3. String procedure = "{call teaching.dbo.A1(?,?,?,?,?)}";
4. int result = 0;
5. CallableStatement cstmt;
6. try {
7. Session session = this.getSession();
8. Connection con = session.connection();
9. cstmt = con.prepareCall(procedure);
10. cstmt.setString(1, gradeid);
11. cstmt.setString(2, examid);
12. cstmt.setString(3, courseid);
13. cstmt.setString(4, KeMu);
14.
15. cstmt.registerOutParameter(5,java.sql.Types.INTEGER);
16. cstmt.executeUpdate();
17. result = cstmt.getInt(5); [color=red][/color]
18. //session.close();
19. } catch (SQLException e) {
20. e.printStackTrace();
21. }
22. return result;
23. }
oracle 存储过程的基本语法 (转)
1.基本结构
CREATE OR REPLACE PROCEDURE 存储过程名字
(
参数1 IN NUMBER,
参数2 IN NUMBER
) IS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
END 存储过程名字
2.SELECT INTO STATEMENT
将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
例子:
BEGIN
SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx;
EXCEPTION
WHEN NO_DATA_FOUND THEN
xxx;
END;
...
3.IF 判断
IF V_TEST=1 THEN
BEGIN
do something
END;
END IF;
4.while 循环
WHILE V_TEST=1 LOOP
BEGIN
XXXX
END;
END LOOP;
5.变量赋值
V_TEST := 123;
6.用for in 使用cursor
...
IS
CURSOR cur IS SELECT * FROM xxx;
BEGIN
FOR cur_result in cur LOOP
BEGIN
V_SUM :=cur_result.列名1+cur_result.列名2
END;
END LOOP;
END;
7.带参数的cursor
CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;
OPEN C_USER(变量值);
LOOP
FETCH C_USER INTO V_NAME;
EXIT FETCH C_USER%NOTFOUND;
do something
END LOOP;
CLOSE C_USER;
8.用pl/sql developer debug
连接数据库后建立一个Test WINDOW
在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试
一个实例(转)
24.CREATE OR REPLACE PACKAGE BODY PY_PCKG_REFUND2 AS
25.
26. PROCEDURE PY_WEBREFUND_VISA_PREPARE (
27. in_serialNoStr IN VARCHAR2, --用"|"隔开的一组网上退款申请流水号
28. in_session_operatorid IN VARCHAR2,--业务操作员
29. out_return_code OUT VARCHAR2, --存储过程返回码
30. out_visaInfoStr OUT VARCHAR2
31. ) IS
32. --变量声明
33. v_serialno VARCHAR2(20);--网上退款申请流水号
34. v_refserialno VARCHAR2(20);--支付交易流水号
35. v_tobankOrderNo VARCHAR2(30);--上送银行的订单号
36. v_orderDate VARCHAR2(8);--订单日期
37. v_businessType VARCHAR2(10);--业务类型
38. v_currType VARCHAR2(3);--订单类型(ET-电子机票)
39. v_merno VARCHAR2(15);--商户号
40. v_orderNo VARCHAR2(20);--商户订单号
41. v_orderState VARCHAR2(2);
42. v_refAmount NUMBER(15,2);--退款金额
43. v_tranType VARCHAR(2);--交易类型
44. v_bank VARCHAR2(10);--收单银行
45. v_date VARCHAR2 (8);--交易日期
46. v_time VARCHAR2 (6);--交易时间
47. v_datetime VARCHAR2 (14);--获取的系统时间
48. v_index_start NUMBER;
49. v_index_end NUMBER;
50. v_i NUMBER;
51. BEGIN
52. -- 初始化参数
53. out_visaInfoStr := '';
54. v_i := 1;
55. v_index_start := 1;
56. v_index_end := INSTR(in_serialNoStr,'|',1,1);
57. v_refserialno := SUBSTR(in_serialNoStr, v_index_start, v_index_end-1);
58. v_datetime := TO_CHAR (SYSDATE, 'yyyymmddhh24miss');
59. v_date := SUBSTR (v_datetime, 1,;
60. v_time := SUBSTR (v_datetime, 9, 14);
61.
62. --从退款请求表中查询定单信息(商户号、商户订单号、退款金额)
63. WHILE v_index_end > 0 LOOP
64. SELECT
65. WEBR_MERNO,
66. WEBR_ORDERNO,
67. WEBR_AMOUNT,
68. WEBR_SERIALNO,
69. WEBR_REFUNDTYPE
70. INTO
71. v_merno,
72. v_orderNo,
73. v_refAmount,
74. v_serialno,
75. v_tranType
76. FROM
77. PY_WEB_REFUND
78. WHERE
79. WEBR_REFREQNO = v_refserialno;
80.
81. --将查询到的数据组成串
82. out_visaInfoStr := out_visaInfoStr || v_merno || '~' || v_orderNo || '~' || v_refAmount + '|';
83.
84. --为下次循环做数据准备
85. v_i := v_i + 1;
86. v_index_start := v_index_end + 1;
87. v_index_end := INSTR(in_serialNoStr,'|',1,v_i);
88. IF v_index_end > 0 THEN
89. v_refserialno := SUBSTR(in_serialNoStr, v_index_start, v_index_end - 1);
90. END IF;
91.
92. --根据原支付流水号在流水表中查询该订单的信息,包括原上送银行或第三方的订单号:WTRN_TOBANKORDERNO
93. SELECT
94. WTRN_TOBANKORDERNO,
95. WTRN_ORDERNO,
96. WTRN_ORDERDATE,
97. WTRN_BUSINESSTYPE,
98. WTRN_ACCPBANK,
99. WTRN_TRANCURRTYPE
100. INTO
101. v_tobankOrderNo,
102. v_orderNo,
103. v_orderDate,
104. v_businessType,
105. v_bank,
106. v_currType
107. FROM PY_WEBPAY_VIEW
108. WHERE WTRN_SERIALNO = v_serialno;
109.
110. --记录流水表(退款)
111. INSERT INTO PY_WEBPAY_TRAN(
112. WTRN_SERIALNO,
113. WTRN_TRANTYPE,
114. WTRN_ORIGSERIALNO,
115. WTRN_ORDERNO,
116. WTRN_ORDERDATE,
117. WTRN_BUSINESSTYPE,
118. WTRN_TRANCURRTYPE,
119. WTRN_TRANAMOUNT,
120. WTRN_ACCPBANK,
121. WTRN_TRANSTATE,
122. WTRN_TRANTIME,
123. WTRN_TRANDATE,
124. WTRN_MERNO,
125. WTRN_TOBANKORDERNO
126. )VALUES(
127. v_refserialno, --和申请表的流水号相同,作为参数传人
128. v_tranType,
129. v_serialno, --原交易流水号,查询退款申请表得到
130. v_orderNo,
131. v_orderDate,
132. v_businessType,
133. v_currType,
134. v_refAmount,
135. v_bank,
136. '1',
137. v_time,
138. v_date,
139. v_merno,
140. v_tobankOrderNo --上送银行的订单号,查询流水表得到
141. );
142.
143. --更新网上退款申请表
144. UPDATE PY_WEB_REFUND
145. SET
146. WEBR_IFDISPOSED = '1',
147. WEBR_DISPOSEDOPR = in_session_operatorid,
148. WEBR_DISPOSEDDATE = v_datetime
149. WHERE
150. WEBR_REFREQNO = v_refserialno;
151.
152. --更新定单表
153. IF v_tranType = '2' THEN
154. v_orderState := '7';
155. ELSE
156. v_orderState := '10';
157. END IF;
158.
159. UPDATE PY_ORDER
160. SET
161. ORD_ORDERSTATE = v_orderState
162. WHERE
163. ORD_ORDERNO = v_orderNo
164. AND ORD_ORDERDATE = v_orderDate
165. AND ORD_BUSINESSTYPE = v_businessType;
166. END LOOP;
167.
168. -- 异常处理
169. EXCEPTION
170. WHEN OTHERS THEN
171. ROLLBACK;
172. out_return_code := '14001';
173. RETURN;
174. END;
175.
176.END PY_PCKG_REFUND2;
177./
DBMS_OUTPUT.put_line( "putline====== ");--换行 end; 打印功能
发表评论
-
oracle 表字段命名规范
2013-04-09 16:35 3776命名一律为大写字母(或小写,不要大下写混合)英文单词单 ... -
PowerDesigner设计表的简单用法 转
2013-04-09 16:22 1390PowerDesigner设计表的简单用法 (h ... -
(转)Oracle Partition 分区详细总结
2013-03-18 00:41 986(转)Oracle Partition 分区详细总结 ... -
oracle sql语句优化
2013-03-01 00:27 925oracle sql语句优化 报 我转blogj ... -
oracle结构
2012-12-26 03:06 986Oracle10g结构 本 ... -
Oracle PL/SQL存储过程,函数,包,触发器的使用
2012-12-26 03:04 1222Oracle PL/SQL存储过程,函数,包,触发 ... -
Oracle中的索引详解
2012-12-26 02:56 769Oracle中的索引详解 ... -
sql中的group by having
2012-12-14 18:32 946--sql中的group by 用法解析:-- Grou ... -
Oracle数据库Decode()函数的使用方法
2012-10-30 13:48 985Oracle数据库Decode()函数的使用方法 语法 ... -
java 基础性能'
2012-02-04 00:11 94212.尽量合理的创建HashM ... -
刷新物化视图和查看子类四级分类
2011-12-07 16:45 1343exec dbms_refresh.refresh('mv_g ... -
删除重复记录(sql) case when
2011-11-15 16:43 2525select 姓名,工龄, (case when (工龄> ... -
SQL写一个临时表,去更新这个表里的字段
2011-10-17 16:31 5169create table temp_should_displa ... -
SQL总结
2011-10-11 20:57 1074cd "C:\Program Files (x86) ... -
使用BoneCP的必备条件
2011-09-21 19:36 1966使用BoneCP需要如下类库支持: 被连接的数据库的JDBC驱 ... -
oracle 树结构查询
2011-08-24 23:31 1118select * from table_name where ... -
sql语句优化
2011-08-22 15:56 928最近几周一直在进行数 ...
相关推荐
本文将从 Oracle 存储过程的基础知识开始,逐步深入到 Oracle 存储过程的高级应用,包括 Hibernate 调用 Oracle 存储过程和 Java 调用 Oracle 存储过程的方法。 Oracle 存储过程基础知识 Oracle 存储过程是 Oracle...
Oracle存储过程unwrap解密工具主要用于处理Oracle数据库中的加密存储过程。在Oracle数据库系统中,为了保护敏感代码或数据,开发人员有时会选择对存储过程进行加密。然而,当需要查看、调试或恢复这些加密的存储过程...
以下是对“oracle存储过程解锁”这一主题的深入解析。 ### 标题:“oracle存储过程解锁” #### 解析: 在Oracle数据库中,存储过程是一种预先编译并存储在数据库中的SQL代码块,用于执行复杂的业务逻辑或数据处理...
总结起来,"帆软报表Oracle存储过程解决storeParameter1参数试用插件"主要是针对在调用无参数Oracle存储过程时出现的异常问题提供的一种解决方案。通过安装并配置这个插件,用户可以顺利地在帆软报表中调用不包含...
本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法。分享给大家供大家参考,具体如下: 这里主要测试在Python中通过cx_Oracle调用PL/SQL。 首先,在数据库端创建简单的存储过程。 create or replace ...
在Oracle存储过程中,`IN`参数用于传递数据到过程,`OUT`参数则允许过程向调用者返回数据。而`SYS_REFCURSOR`是Oracle提供的一种特殊类型,它允许存储过程动态地打开一个游标(即结果集)并将其作为`OUT`参数返回。 ...
Oracle存储过程是数据库管理系统中的一种重要特性,它允许开发者编写一系列SQL语句和PL/SQL块,形成可重复使用的代码单元。这篇博客“oracle存储过程-帮助文档”可能提供了关于如何创建、调用和管理Oracle存储过程...
### Oracle存储过程、函数与DBLink详解 #### 一、Oracle存储过程简介 在Oracle数据库中,存储过程是一种预编译好的SQL代码集合,它可以接受输入参数、返回单个值或多个值,并能够执行复杂的数据库操作。存储过程...
本文将深入探讨如何在Spring Boot项目中整合MyBatis,实现调用Oracle存储过程并处理游标返回的数据。 首先,我们需要在Spring Boot项目中引入相关的依赖。在`pom.xml`文件中添加Oracle JDBC驱动(ojdbc66-oracle...
oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel oracle 存储过程导出excel
以下是一个简单的示例,展示了如何调用一个不带参数的Oracle存储过程: ```java Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); session....
本文将详细讲解如何在C#中使用自定义列表(List)作为参数调用Oracle存储过程,以及实现这一功能的关键技术和注意事项。 首先,我们需要了解Oracle数据库中的PL/SQL类型,例如VARCAR2、NUMBER等,它们对应于C#中的...
Oracle存储过程是数据库管理系统Oracle中的一个关键特性,它允许开发者编写一组预编译的SQL和PL/SQL语句,以实现特定的业务逻辑或数据库操作。这篇教程将深入讲解Oracle存储过程的各个方面,帮助你从基础到高级全面...
### Oracle存储过程批量提交知识点详解 在Oracle数据库中,存储过程是一种重要的数据库对象,它可以包含一系列SQL语句和控制流语句,用于实现复杂的业务逻辑处理。存储过程不仅可以提高应用程序性能,还可以确保...
本篇文章将深入探讨如何在Oracle存储过程中使用临时表,包括会话级临时表和事务级临时表。 ### 会话级临时表 会话级临时表(Session-Level Temporary Tables)只在创建它的会话内可见,并且在会话结束时自动删除。...
Oracle存储过程常用技巧 Oracle存储过程是一种强大的数据库对象,它可以帮助开发者简化复杂的业务逻辑,并提高数据库的安全性和性能。在 Oracle 中,存储过程是一种特殊的 PL/SQL 程序,它可以接受输入参数,执行...
标题中的“pb中执行oracle存储过程脚本”指的是在PowerBuilder(简称PB)环境中调用Oracle数据库的存储过程。PowerBuilder是一种可视化的开发工具,常用于构建数据驱动的应用程序。Oracle存储过程则是在Oracle数据库...
可以将SQL Server存储过程转为oracle存储过程的工具
Oracle 存储过程调用 CallabledStatement 实用例子(IN OUT 传游标) 一、Oracle 存储过程简介 Oracle 存储过程是一种可以在 Oracle 数据库中存储和执行的程序单元。存储过程可以由多种语言编写,例如 PL/SQL、...
本话题将详细探讨如何在Oracle存储过程中调用外部的批处理脚本,如Windows系统的BAT文件,以实现数据库操作与系统命令的集成。 首先,`Oracle存储过程`是一种预编译的SQL和PL/SQL代码集合,可以被多次调用以执行...