重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

oracle怎么填数 oracle怎么计数

oracle数据库,怎么给已有很多数据的表填充自增序列字段

两个方法:

成都创新互联专业为企业提供东明网站建设、东明做网站、东明网站设计、东明网站制作等企业网站建设、网页设计与制作、东明企业网站模板建站服务,10年东明做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

1,重新创建一个表,然后创建一个序列,把老数据导入新表,删除老表,修改新表名字为老表

2,直接在原来表上增加一个字段,创建一个序列,通过更新的方式修改老数据的这个字段。

具体操作主要是2点,首先是创建一个序列名sequence;

然后是,insert语句的时候:将自增的字段的位置,写成序列名.nextval。

从创建表开始,然后创建sequence,到insert语句

1.首先创建表

CREATE TABLE "FLOWCAL"."T_USERINFO"

( "C_ID" NUMBER(*,0),

"C_USER" VARCHAR2(20 BYTE),

"C_PASSWORD" VARCHAR2(20 BYTE),

"C_ROLE" VARCHAR2(20 BYTE),

"C_COMMENT1" VARCHAR2(20 BYTE),

"C_COMMENT2" VARCHAR2(20 BYTE)

)

现在想让C_ID自增一。

2.首先创建一个oracle的sequence,sql语句如下:

create sequence 序列名

increment by 1

start with 1

maxvalue 999999999

cycle;

建立一个最小为1,最大为999999999的一个序列号会自动循环的序列

下面的sequence,如下:

CREATE SEQUENCE "FLOWCAL"."SEQ_USERINFO"

MINVALUE 0

MAXVALUE 9999999999999999999999999999

INCREMENT BY 1

START WITH 24

CACHE 20

ORDER

CYCLE ;

3.通过序列名.nextval实现插入时,字段的自增一

当向表中插入数据时,SQL语句写法如下:

SQL insert into 表名 values(,列1值,列2值,....);

"序列名"可以替换为自己需要的名字.

下面insert语句:

insert into T_USERINFO values(SEQ_USERINFO.NEXTVAL,'111','11','11','11','11')

怎么在oracle数据库插入数据

ORA-00604: 递归 SQL 级别 1 出现错误,ORA-01000: 超出打开游标的最大数

这两个错误一般出现在利用代码循环执行数据库命令(例如将数据导入到数据库)时,例如在C#中

1)建立一个OracleConnection

2)循环创建OracleCommand,并执行数据导入

3)关闭OracleConnection

当第二步的循环数比较小时,代码运行正常。当循环数超过一定值(例如300),代码就会出错。提示:

ORA-01000: 超出打开游标的最大数

这是因为Oracle数据库中打开的游标最大数为一定值,例如300,当代码中第二步时, 循环中一个Command占用了一个数据库游标,执行的循环超过这个数时就会产生游标数目溢出错误。

解决办法:

第二步循环中中每次执行完OracleCommand,都将command.dispose()下,释放掉这个资源就好了

此外,也可以修改数据库的最大游标数,不过这个方法治标不治本。

oracle 里怎么实现输入一个数,如果大于60就停止输入,如果小于60就继续输入,请高手帮帮忙

不是十分明白你的意思,你是说写个C/C++程序来实现么?那将非常容易

1:创建个表,例如 number。可以在oracle里创建也可以用接口创建。

这是在oracle里创建create table number(NO number,... ...);这个参数我就不具体说了啊。

2:写程序。c语言用OCI,c++用occi。我用的occi

#include iostream

#define LINUXOCCI //避免函数重定义错误

#include occi.h

using namespace std;

using namespace oracle::occi;

int main()

{

//创建环境变量

//Environment

Environment *env = Environment::createEnvironment(Environment::OBJECT);

//username是oracle的用户名

//userpass是oracle的密码

//connstr是oracle的连接字符串

string username = "atc";

string userpass = "atc";

string connstr = "192.168.1.101:1521/utms";

//创建连接

//connection

Connection *conn = env-createConnection(username, userpass, connstr);

if(conn == NULL)

{

cout "access oracle failed..." endl;

return 0;

}

int count =0;

whlie(1)

{

//创建一个SQL语句的执行对象

//statement

Statement *st = conn-createStatement();

st-setSQL("insert into number values(count)");

st-executeUpdate();

n++;

if(n == 60)

break;

}

//关闭连接

env-terminateConnection(conn);

Environment::terminateEnvironment(env);

return 0;

}

理论上上面的代码就能实现你想要的,不过我当时写的是实现一个插入代码,我修改的没测试,你试试看,不行的话我还有批量操作的代码。你在站短我咱们在研究

怎么样像Oracle中输入数据

1.首先装好10g 11g的数据库;

2.登陆数据库并创建用户;

开始--运行--sqlplus /nolog

conn /as sysdba

create user test identified by test;

grant resource,connect to test;

3.使用test(密码 test)用户账号登陆,并建立一张简单的表

create table test (id int,name char(10));

4.向该表插入数据

insert into test values (1,'yxd2766');

commit;

在Oracle里,输入参数怎么写?

你也没给出个表名,临时给你写个例子,自己运行看看结果吧

建表

create table orders(oid varchar2(10),

price int);插入数据

insert into orders values ('1111',100);

insert into orders values ('1111',200);

insert into orders values ('2222',400);建立存储过程

create or replace procedure p_orders

(v_oid varchar2)

as

v_count int;

v_pirce int;

begin

select count(*) into v_count from orders where oid=v_oid;

if v_count=0

then

dbms_output.put_line('订单编号不存在');

else

select sum(price) into v_pirce from orders where oid=v_oid;

dbms_output.put_line('编号为'||v_oid||'的订单金额为'||v_pirce);

end if;

end;

执行1

begin

p_orders('3333');--括号里这个就是订单编号

end;这个执行结果是

执行2

begin

p_orders('1111');--括号里这个就是订单编号

end;

然后你自己再改改吧

oracle 表怎么插入数据,

插入数据分为两种情况,一种是用insert into ...values 的语法,一种是用insert into select ...的语法。

举例:

如test表中有如下数据:

插入一条id为6,name为杨七的数据。

insert into test values (6,'杨七');

commit;

此时表中数据为:

另,要求向表中复制一条目前表中id为1的数据,可用如下语句:

insert into test select * from test where id=1;

commit;

此时表中数据为:

注意:在执行insert语句后,必须提交,即commit,否则插入结果只在当前session有效,重新开启另外的session会插入不成功。


标题名称:oracle怎么填数 oracle怎么计数
文章URL:http://cqcxhl.cn/article/hjcope.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP