oracle怎么填數(shù) oracle怎么計數(shù)

oracle數(shù)據(jù)庫,怎么給已有很多數(shù)據(jù)的表填充自增序列字段

兩個方法:

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供東明網(wǎng)站建設(shè)、東明做網(wǎng)站、東明網(wǎng)站設(shè)計、東明網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、東明企業(yè)網(wǎng)站模板建站服務(wù),10年東明做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

1,重新創(chuàng)建一個表,然后創(chuàng)建一個序列,把老數(shù)據(jù)導(dǎo)入新表,刪除老表,修改新表名字為老表

2,直接在原來表上增加一個字段,創(chuàng)建一個序列,通過更新的方式修改老數(shù)據(jù)的這個字段。

具體操作主要是2點,首先是創(chuàng)建一個序列名sequence;

然后是,insert語句的時候:將自增的字段的位置,寫成序列名.nextval。

從創(chuàng)建表開始,然后創(chuàng)建sequence,到insert語句

1.首先創(chuàng)建表

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)

)

現(xiàn)在想讓C_ID自增一。

2.首先創(chuàng)建一個oracle的sequence,sql語句如下:

create sequence 序列名

increment by 1

start with 1

maxvalue 999999999

cycle;

建立一個最小為1,最大為999999999的一個序列號會自動循環(huán)的序列

下面的sequence,如下:

CREATE SEQUENCE "FLOWCAL"."SEQ_USERINFO"

MINVALUE 0

MAXVALUE 9999999999999999999999999999

INCREMENT BY 1

START WITH 24

CACHE 20

ORDER

CYCLE ;

3.通過序列名.nextval實現(xiàn)插入時,字段的自增一

當(dāng)向表中插入數(shù)據(jù)時,SQL語句寫法如下:

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

"序列名"可以替換為自己需要的名字.

下面insert語句:

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

怎么在oracle數(shù)據(jù)庫插入數(shù)據(jù)

ORA-00604: 遞歸 SQL 級別 1 出現(xiàn)錯誤,ORA-01000: 超出打開游標(biāo)的最大數(shù)

這兩個錯誤一般出現(xiàn)在利用代碼循環(huán)執(zhí)行數(shù)據(jù)庫命令(例如將數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫)時,例如在C#中

1)建立一個OracleConnection

2)循環(huán)創(chuàng)建OracleCommand,并執(zhí)行數(shù)據(jù)導(dǎo)入

3)關(guān)閉OracleConnection

當(dāng)?shù)诙降难h(huán)數(shù)比較小時,代碼運行正常。當(dāng)循環(huán)數(shù)超過一定值(例如300),代碼就會出錯。提示:

ORA-01000: 超出打開游標(biāo)的最大數(shù)

這是因為Oracle數(shù)據(jù)庫中打開的游標(biāo)最大數(shù)為一定值,例如300,當(dāng)代碼中第二步時, 循環(huán)中一個Command占用了一個數(shù)據(jù)庫游標(biāo),執(zhí)行的循環(huán)超過這個數(shù)時就會產(chǎn)生游標(biāo)數(shù)目溢出錯誤。

解決辦法:

第二步循環(huán)中中每次執(zhí)行完OracleCommand,都將command.dispose()下,釋放掉這個資源就好了

此外,也可以修改數(shù)據(jù)庫的最大游標(biāo)數(shù),不過這個方法治標(biāo)不治本。

oracle 里怎么實現(xiàn)輸入一個數(shù),如果大于60就停止輸入,如果小于60就繼續(xù)輸入,請高手幫幫忙

不是十分明白你的意思,你是說寫個C/C++程序來實現(xiàn)么?那將非常容易

1:創(chuàng)建個表,例如 number??梢栽趏racle里創(chuàng)建也可以用接口創(chuàng)建。

這是在oracle里創(chuàng)建create table number(NO number,... ...);這個參數(shù)我就不具體說了啊。

2:寫程序。c語言用OCI,c++用occi。我用的occi

#include iostream

#define LINUXOCCI //避免函數(shù)重定義錯誤

#include occi.h

using namespace std;

using namespace oracle::occi;

int main()

{

//創(chuàng)建環(huán)境變量

//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";

//創(chuàng)建連接

//connection

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

if(conn == NULL)

{

cout "access oracle failed..." endl;

return 0;

}

int count =0;

whlie(1)

{

//創(chuàng)建一個SQL語句的執(zhí)行對象

//statement

Statement *st = conn-createStatement();

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

st-executeUpdate();

n++;

if(n == 60)

break;

}

//關(guān)閉連接

env-terminateConnection(conn);

Environment::terminateEnvironment(env);

return 0;

}

理論上上面的代碼就能實現(xiàn)你想要的,不過我當(dāng)時寫的是實現(xiàn)一個插入代碼,我修改的沒測試,你試試看,不行的話我還有批量操作的代碼。你在站短我咱們在研究

怎么樣像Oracle中輸入數(shù)據(jù)

1.首先裝好10g 11g的數(shù)據(jù)庫;

2.登陸數(shù)據(jù)庫并創(chuàng)建用戶;

開始--運行--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.向該表插入數(shù)據(jù)

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

commit;

在Oracle里,輸入?yún)?shù)怎么寫?

你也沒給出個表名,臨時給你寫個例子,自己運行看看結(jié)果吧

建表

create table orders(oid varchar2(10),

price int);插入數(shù)據(jù)

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;

執(zhí)行1

begin

p_orders('3333');--括號里這個就是訂單編號

end;這個執(zhí)行結(jié)果是

執(zhí)行2

begin

p_orders('1111');--括號里這個就是訂單編號

end;

然后你自己再改改吧

oracle 表怎么插入數(shù)據(jù),

插入數(shù)據(jù)分為兩種情況,一種是用insert into ...values 的語法,一種是用insert into select ...的語法。

舉例:

如test表中有如下數(shù)據(jù):

插入一條id為6,name為楊七的數(shù)據(jù)。

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

commit;

此時表中數(shù)據(jù)為:

另,要求向表中復(fù)制一條目前表中id為1的數(shù)據(jù),可用如下語句:

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

commit;

此時表中數(shù)據(jù)為:

注意:在執(zhí)行insert語句后,必須提交,即commit,否則插入結(jié)果只在當(dāng)前session有效,重新開啟另外的session會插入不成功。

分享文章:oracle怎么填數(shù) oracle怎么計數(shù)
瀏覽地址:http://muchs.cn/article34/hjcope.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、域名注冊商城網(wǎng)站、關(guān)鍵詞優(yōu)化外貿(mào)網(wǎng)站建設(shè)、虛擬主機

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站