易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : Oracle

SQL Server里的 ISNULL 与 Oracle 中的 NULLIF

SQL Server里的 ISNULL 与 Oracle 中的 NULLIF不同:
  SQL Server 中有两个参数,语法:
    ISNULL(check_expression, replacement_value)
    check_expression 与 replacement_value 数据类型必须一致
   
如果 check_expression 为 NULL,则返回 replacement_value
    如果 check_expression 不为 NULL,则返回 check_expression
  NULLIF 用于检查两个表达式,语法:
    NULLIF(expression, expression)
    如果两个 expression 相等,则返回 NULL,该 NULL 为第一个 expression 的数据类型
    如果两个 expression 不相等,则返回第一个 expression
......

SQL Server里的 ISNULL 与 Oracle 中的 NULLIF

SQL Server里的 ISNULL 与 Oracle 中的 NULLIF不同:
  SQL Server 中有两个参数,语法:
    ISNULL(check_expression, replacement_value)
    check_expression 与 replacement_value 数据类型必须一致
   
如果 check_expression 为 NULL,则返回 replacement_value
    如果 check_expression 不为 NULL,则返回 check_expression
  NULLIF 用于检查两个表达式,语法:
    NULLIF(expression, expression)
    如果两个 expression 相等,则返回 NULL,该 NULL 为第一个 expression 的数据类型
    如果两个 expression 不相等,则返回第一个 expression
......

Java开发Oracle数据库的ORA 01000错误解析

很多朋友在Java开发中,使用Oracle数据库的时候,经常会碰到有ORA-01000: maximum open cursors exceeded.的错误。
实际上,这个错误的原因,主要还是代码问题引起的。
ora-01000: maximum open cursors exceeded.
表示已经达到一个进程打开的最大游标数。
这样的错误很容易出现在Java代码中的主要原因是:Java代码在执行conn.createStatement()和 conn.prepareStatement()的时候,实际上都是相当与在数据库中打开了一个cursor。尤其是,如果你的 createStatement和prepareStatement是在一个循环里面的话,就会非常容易出现这个问题。因为游标一直在不停的打开,而且没有关闭。
一般来说,我们在写Java代码的时候,createStatement和prepareStatement都应该要放在循环外面,而且使用了这些Statment后,及时关闭。最好是在执行了一次executeQuery、executeUpdate等之后,如果不需要使用结果集(ResultSet)的数据,就马上将Statment关闭。
对于出现ORA-01000错误这种情况,单纯的加大open_cursors并不是好办法,那只是治标不治本。实际上,代码中的隐患并没有解除。
而且,绝大部分情况下,open_cursors只需要设置一个比较小的值,就足够使用了,除非有非常特别的要求。 ......

Java开发Oracle数据库的ORA 01000错误解析

很多朋友在Java开发中,使用Oracle数据库的时候,经常会碰到有ORA-01000: maximum open cursors exceeded.的错误。
实际上,这个错误的原因,主要还是代码问题引起的。
ora-01000: maximum open cursors exceeded.
表示已经达到一个进程打开的最大游标数。
这样的错误很容易出现在Java代码中的主要原因是:Java代码在执行conn.createStatement()和 conn.prepareStatement()的时候,实际上都是相当与在数据库中打开了一个cursor。尤其是,如果你的 createStatement和prepareStatement是在一个循环里面的话,就会非常容易出现这个问题。因为游标一直在不停的打开,而且没有关闭。
一般来说,我们在写Java代码的时候,createStatement和prepareStatement都应该要放在循环外面,而且使用了这些Statment后,及时关闭。最好是在执行了一次executeQuery、executeUpdate等之后,如果不需要使用结果集(ResultSet)的数据,就马上将Statment关闭。
对于出现ORA-01000错误这种情况,单纯的加大open_cursors并不是好办法,那只是治标不治本。实际上,代码中的隐患并没有解除。
而且,绝大部分情况下,open_cursors只需要设置一个比较小的值,就足够使用了,除非有非常特别的要求。 ......

java代码连接到oracle数据库

package com.deng.oracle;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestOracle {
public static void main(String[] args) {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
//System.out.println("有数据库驱动");
String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
Connection conn;
try {
conn = DriverManager.getConnection(url, "scott", "tiger");
Statement stmt = conn.createStatement();
String sql = "select * from emp";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
System.out.println("ENAME: " + rs.getString(2));
}
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}

首先, 在classpath环境变量下加载oracle的数据库驱动: classes12.jar或者是ojdbc14.jar, 然后加载各个SQL的类, 编写url, 这个url是jdbc:oracle:thin: ......

java代码连接到oracle数据库

package com.deng.oracle;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestOracle {
public static void main(String[] args) {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
//System.out.println("有数据库驱动");
String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
Connection conn;
try {
conn = DriverManager.getConnection(url, "scott", "tiger");
Statement stmt = conn.createStatement();
String sql = "select * from emp";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
System.out.println("ENAME: " + rs.getString(2));
}
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}

首先, 在classpath环境变量下加载oracle的数据库驱动: classes12.jar或者是ojdbc14.jar, 然后加载各个SQL的类, 编写url, 这个url是jdbc:oracle:thin: ......

Mysql,SqlServer,Oracle主键自动增长的设置


Mysql,SqlServer,Oracle主键自动增长的设置
1、把主键定义为自动增长标识符类型
在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如:
create table customers(id int auto_increment primary key not null, name varchar(15));
insert into customers(name) values("name1"),("name2");
select id from customers;
以上sql语句先创建了customers表,然后插入两条记录,在插入时仅仅设定了name字段的值。最后查询表中id字段,查询结果为:
id
1
2
由此可见,一旦把id设为auto_increment类型,mysql数据库会自动按递增的方式为主键赋值。
在MS SQLServer中,如果把表的主键设为identity类型,数据库就会自动为主键赋值。例如:
create table customers(id int identity(1,1) primary key not null, name varchar(15));
insert into customers(name) values("name1"),("name2");
select id from customers;
查询结果和mysql的一样。由此可见,一旦把id设为identity类型,MS SQLServer数据库会自动按递增的方式为主键赋值。identity包含两个参数,第一个参数表示起始值,第二个参数表示增量。
2、从序列中获取自动增长的标识 ......

Mysql,SqlServer,Oracle主键自动增长的设置


Mysql,SqlServer,Oracle主键自动增长的设置
1、把主键定义为自动增长标识符类型
在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如:
create table customers(id int auto_increment primary key not null, name varchar(15));
insert into customers(name) values("name1"),("name2");
select id from customers;
以上sql语句先创建了customers表,然后插入两条记录,在插入时仅仅设定了name字段的值。最后查询表中id字段,查询结果为:
id
1
2
由此可见,一旦把id设为auto_increment类型,mysql数据库会自动按递增的方式为主键赋值。
在MS SQLServer中,如果把表的主键设为identity类型,数据库就会自动为主键赋值。例如:
create table customers(id int identity(1,1) primary key not null, name varchar(15));
insert into customers(name) values("name1"),("name2");
select id from customers;
查询结果和mysql的一样。由此可见,一旦把id设为identity类型,MS SQLServer数据库会自动按递增的方式为主键赋值。identity包含两个参数,第一个参数表示起始值,第二个参数表示增量。
2、从序列中获取自动增长的标识 ......

Mysql,SqlServer,Oracle主键自动增长的设置


Mysql,SqlServer,Oracle主键自动增长的设置
1、把主键定义为自动增长标识符类型
在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如:
create table customers(id int auto_increment primary key not null, name varchar(15));
insert into customers(name) values("name1"),("name2");
select id from customers;
以上sql语句先创建了customers表,然后插入两条记录,在插入时仅仅设定了name字段的值。最后查询表中id字段,查询结果为:
id
1
2
由此可见,一旦把id设为auto_increment类型,mysql数据库会自动按递增的方式为主键赋值。
在MS SQLServer中,如果把表的主键设为identity类型,数据库就会自动为主键赋值。例如:
create table customers(id int identity(1,1) primary key not null, name varchar(15));
insert into customers(name) values("name1"),("name2");
select id from customers;
查询结果和mysql的一样。由此可见,一旦把id设为identity类型,MS SQLServer数据库会自动按递增的方式为主键赋值。identity包含两个参数,第一个参数表示起始值,第二个参数表示增量。
2、从序列中获取自动增长的标识 ......

Oracle管理与维护.数据库登录的身证验证

Oracle管理与维护.数据库登录的身证验证
草木瓜
20080505
一、写在前面
 曾经并不知道conn / as sysdba为何物,在unix下搞了半天方知,还需要加上"号,Oracle 10g里
终于也考虑到了这个问题,不再受到" as sysdba "的限制。
 如下所示:
 
 [oracle@liwei admin]$ sqlplus / as sysdba
 
 SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 1 15:55:18 2008
 
 Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
 Connected to an idle instance.
 
 SQL> quit
 Disconnected
 [oracle@liwei admin]$ sqlplus "/ as sysdba"
 
 SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 1 15:55:24 2008
 
 Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
 Connected to an idle instance.
 
 SQL> quit
 Disconnected
 
二、Oracle登录认证方式
 《Oracle管理与维护.手工创建数据库以及脚本》一文中提到如下一个错误:
 
 [oracle@liwei oracle]$ sq ......

Oracle大全

Oracle 用户及角色 介绍 收藏
一. 用户管理
1.1 建立用户(数据库验证)
     CREATE  USER   DAVE  IDENTIFIED  BY   pwd
     DEFAULT TABLESPACE  users
     TEMPORARY   TABLESPACE  temp
     QUOTA  5m  ON  users;
1.2 修改用户
ALTER USER DAVE QUOTA 0 ON SYSTEM;
1.3 删除用户
DROP USER DAVE;
DROP USER DAVE CASCADE;
1.4 显示用户信息
SELECT * from DBA_USERS
SELECT * from DBA_TS_QUOTAS
二.系统权限
系统权限
 作用
 
CREATE SESSION
 连接到数据库
 
CREATE TABLE
 建表
 
CREATE TABLESPACE
 建立表空间
 
CREATE VIEW
 建立视图
 
CREATE SEQUENCE
 建立序列
 
CREATE USER
 建立用户
 
 
系统权限是指执行特定类型SQL命令的权利,用于控制用户可以执行的一个或一类数据库操作。(新建用户没有任何权限)
2.1 授予系统权限
GRANT CREATE SESSION,CREATE TABLE TO DAV ......
总记录数:3994; 总页数:666; 每页6 条; 首页 上一页 [337] [338] [339] [340] 341 [342] [343] [344] [345] [346]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号