关于rownum的一点体会
ROWNUM是一个“伪列“,数据库中并不保存ROWNUM列的值。当某一行记录读入内存时,相应的ROWNUM才被动态地赋值,用以纪录该条记录位于结果集中的第几行。对于同一条记录,每次返回时ROWNUM值都可能不同。[@more@]可以用下面的小测试来验证:SQL> connect scott/tigerConnected to Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 Connected as scottSQL> select rownum,deptno,dname from dept;ROWNUM DEPTNO DNAME---------- ------ --------------1 10 ACCOUNTING2 20 RESEARCH3 30 SALES4 40 OPERATIONS在上述结果中,
一次ora-12535/ora-12170问题解决
在windows XP上装了oracle10g并建了库,可是局域网内的其他及其却连不上该数据库,出现如下错误:[@more@]C:Documents and Settingszhonghua.yu>sqlplus scott/tiger@boSQL*Plus: Release 10.1.0.2.0 - Production on Fri Aug 5 14:34:13 2005Copyright (c) 1982, 2004, Oracle. All rights reserved.ERROR:ORA-12170: TNS:Connect timeout occurredC:Documents and Settingszhonghua.yu>tnsping boTNS Ping Utility for 32-bit Windows: Version 10.1.0.2.0 - Production on 05-AUG-2005 14:35:03Copyright (c) 1997, 2003, Oracl
修改数据库的日期显示格式
数据库移植后,程序里的所有类似insert into table (aaa_date) values('20050101')的语句都执行失败,原因是日期格式发生了变化。[@more@]1。SQL> alter session set nls_date_format='yyyymmdd';Session alteredSQL> alter system set nls_date_format='yyyymmdd';alter system set nls_date_format='yyyymmdd'ORA-02096: specified initialization parameter is not modifiable with this option2。 修改.profile文件,增加参数export nls_date_format='yyyymmdd',执行该文件并重新启动数据库实例,失败,日期仍为原来格式3。spf
使用脚本utlpwdmg.sql启用密码管理
使用脚本utlpwdmg.sql可以方便地启动数据库的密码管理。该脚本位于$ORACLE_HOME/rdbms/admin目录下。[@more@]启动密码管理以前:SQL> select * from dba_profiles where resource_type='PASSWORD';PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT------------------------------ -------------------------------- ------------- ----------------------------------------DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITEDDEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITEDDEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITEDDEFAULT PASSWORD
使用sql*plus时的一个安全小问题
在unix环境下,当你使用sql*plus访问数据库时,说不定不知不觉间就把数据库的用户名和口令告诉给了其他操作系统用户。不妨做以下试验。[@more@]telnet到数据库服务器,用如下命令启动sql*plus:/export/home/deverdb>sqlplus system/sysmg3r4@suppfrwi SQL*Plus: Release 8.1.7.0.0 - Production on Wed Jun 22 13:10:48 2005(c) Copyright 2000 Oracle Corporation. All rights reserved.Connecte a :Oracle8i Enterprise Edition Release 8.1.7.4.0 - ProductionWith the Partitioning optionJServer Release 8.1.7.4.0 - Production
JSP(12) - 商品处理模块
该模块基本上为 进货模块(http://blog.itpub.net/post/334/32287)的反过程。[@more@]dispose_bef.jsp:<%@ page contentType="text/html; charset=GBK" %><%@ page language="java" import="java.util.*" %><%@ page import="java.sql.*" %><%@ page import="java.text.SimpleDateFormat" %><%@ page import="java.text.DateFormat" %><%response.setHeader("Cache-Control","no-store"); //HTTP 1.1 response.setHead
JSP(11) - 退货模块
该模块处理退货信息,基本上是销售模块 (http://blog.itpub.net/post/334/32291) 的反过程。[@more@]return_back_bef.jsp:<%@ page contentType="text/html; charset=GBK" %><%@ page language="java" import="java.util.*" %><%@ page import="java.sql.*" %><%@ page import="java.text.SimpleDateFormat" %><%@ page import="java.text.DateFormat" %><%response.setHeader("Cache-Control","no-store"); //HTTP 1
JSP(10) - 修改商品信息模块
该模块类似于 修改客户信息模块(http://blog.itpub.net/post/334/31813)[@more@]upt_comm1.jsp:<%@ page contentType="text/html; charset=GBK" %><html><head><title>请输入要修改的商品的编号</title><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="this is my page"><!--<link rel="stylesheet" type="text/css" href="./styles.css"
JSP(9) - 增加商品模块
以下模块无要点技术信息,放在此处仅为系统的完整性考虑。该模块增加商品种类信息。[@more@]add_comm_bef.jsp:<%@ page contentType="text/html; charset=GBK" %><%@ page language="java" import="java.util.*" %><%@ page import="java.text.SimpleDateFormat" %><%@ page import="java.text.DateFormat" %><%response.setHeader("Cache-Control","no-store"); //HTTP 1.1 response.setHeader("Pragma","no-cache&qu
JSP(8) - 按卡号查询顾客信息
分两页。第一页提示用户输入顾客卡号,第二页根据卡号返回顾客详细信息。由于卡号位一确定某位顾客,故该顾客的交易信息也同时返回。要点:1) 根据返回纪录动态生成表格 out.println("<TR align=center>"); out.println("<td>"+sCustId+"</td>"); out.println("<td>"+sCustName+"</td>"); ...... 2) 若某字段结果为空,则应付值  ,以避免生成的表格缺边框 sCustEmail = rs.getString("cst_email"); if (sCustEmail==null) sCustE
JSP(7) - 销售模块
本模块处理销售事务,并允许根据商品编号和顾客卡号核实商品和顾客的详细信息。要点1) 核实商品信息时,采用和进货模块不同的方法。核实商品信息在不可见的页面sale_check_comm.jsp中完成,完毕后将结果返回到销售页面中核实前:<P><INPUT type=button value=商品编号检查 name=btn_comm_id onclick="javascript:checkComm()"><br>...... function checkComm() { document.frmData.action = './jsp/sale_check_comm.jsp'; document.frmData.submit(); }核实后返回结果: request.setAttr
JSP(6) - 进货模块
处理商品进货信息,并允许根据商品编号核实该商品详细信息及存货信息。要点:1) 点击button触发javascript 事件 function checkID() { document.frmComm.action = './jsp/purch_in_bef.jsp'; document.frmComm.submit(); }......<INPUT type=button value=商品编号检查 name=btn_query onclick="javascript:checkID()"><br>2) 在同一页面中,将页面输入结果传入数据库,并显示数据库返回的处理结果 商品名称: <INPUT type="text" size=20 maxLength=20 name=comm_name r
JSP(5) - 修改客户信息模块
分三页。先按顾客编号检索出顾客信息,修改顾客信息后存入数据库。 要点: 1) 从数据库检索出数据,用 ResultSet rs = null; ...... stmt = conn.createStatement(); rs = stmt.executeQuery(sQuery); while(rs.next()) { ...... } [@more@]upt_cust1.jsp:<%@ page contentType="text/html; charset=GBK" %><html><head><title>请输入要修改的顾客的卡号</title><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="descrip
JSP(4) - 增加客户模块
分成before和after两个界面。before界面用于让用户输入顾客信息,after界面用于后台处理。要点1)jsp中引入java类<%@ page language="java" import="java.util.*" %><%@ page import="java.text.SimpleDateFormat" %><%@ page import="java.text.DateFormat" %>2)得到系统当前时间,并自定义格式显示在网页中<% Date d = new Date();DateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINESE); %>...... 最后修改日起:&l
JSP(3) - 界面框架
进入系统时默认到index.jsp页面中,包含menu和sub_main两个子页面。要点:1) 将2个网页在一个网页中显示,用frameset<head><title>店铺信息管理系统</title><frameset cols=20%,80%> <frame src="./menu.jsp" name="left"> <frame src="./sub_main.jsp" name="right"></frameset> </head>2)<%@ page contentType="text/html; charset=GBK" %>上面语句可以保证网页在各处中文显示正常。[@more@]源代码index.jsp:<%
JSP(2) - 数据库设计
数据库设计以及建表和其他数据库对象的sql脚本 [@more@]由于blog显示问题,仅上传建用户和建数据库对象的sql脚本,字段说明等从略脚本--create usercreate user store identified by store default tablespace userstemporary tablespace temp;grant connect,resource to store;--create table customercreate table Customer (Cst_ID Varchar2(6) not null,Cst_Name Varchar2(50) not null,Cst_Sex Varchar2(2) not null,Cst_Year Varchar2(4),Cst_Month varchar2(2),Cst_Address
JSP(1) - 需求
店铺管理系统的需求文档 [@more@]1. 功能本系统用于管理店铺日常经营,维护客户档案和商品进销存信息。可分为两个子系统:客户档案系统:有增加、删除、修改、查询、累计购买金额的功能。(比如,输入特定的时间段和累计金额,可查询出满足条件的客户及其具体的购买明细记录)1.1.1 增加有客户第一次购买本店商品时,将该客户的信息录入本系统。包括卡号(什么卡?如果客户买了东西没有办卡,怎么处理?)、姓名、通讯地址、邮政编码、办公室电话、家庭电话、手机、Email、折扣(每次购买都可能不同的折扣吗?还是某个客户规定其
JSP原来也不难
一个月的时间(中间包括一个五一假期),用JSP做个了店铺信息管理系统,之前没有任何JSP经验。原来JSP也不难,只要有高手指点,呵呵。[@more@]这个系统虽然简单,但是MIS的大多数功能已经都包含了。增加、删除、修改、查询、报表、关联等。以后再用JSP做类似MIS的系统,需要实现什么功能时,参考这个例子应该都问题不太大了。爽啊。各个功能模块后面陆续贴出。
一个数据仓库数据刷新的实现机制(八)
shell refresh_all通过6次调用脚本refresh_schema,刷新6各国家所有指定的数据库对象[@more@]该脚本比较简单,就是6次调用refresh_schema。在前面加上环境变量,以使能通过cron调用自动运行该脚本。为了能并行刷新,每条命令后面加了&符号。用法:$refresh_allshell refresh_all脚本如下:############################################################### Purpose: refresh all the necessary objects required by EDEN project## Usage: refresh_all# If there are more/less sch
一个数据仓库数据刷新的实现机制(七)
shell refresh_schema该shell通过调用上面的两个procedures和shell refresh_table,刷新某个国家的所有要刷新的数据库对象[@more@]该脚本自动读取表eden_refr_objt中的内容,刷新某个国家的数据库对象用法:Usage: refresh_schema SCHEMA SCHEMA_PASSWORD SCHEMA2 SCHEMA_PASSWORD2$refresh_schema edenfr password1 ewrfrmaster password2其中灰掉部分代码基本上重复上面的代码,只是处理schema2所属的数据库对象。这样的写法好像不是很好,也没想到更合理的方法,先这样吧。该shell脚本如下:#########################################