oracle插入数据问题

这个是我的表结构:
desc T_STUDENT;
Name         Type         Nullable Default Comments
------------ ------------ -------- ------- --------
stu_id       VARCHAR2(10)                          
stu_name     VARCHAR2(40)                          
stu_password VARCHAR2(40) Y                        
stu_age      INTEGER      Y                        
stu_perform  FLOAT(2)     Y

在PL/SQL中向此表插入一条数据
insert into  T_STUDENT (stu_id, stu_name, stu_password, stu_age, stu_perform) values (‘001‘, ‘David‘, ‘David‘, 12, 89.00);
插入失败,ORA-00904: "STU_PERFORM": 标识符无效
为什么啊? 全改成大写也不行,将 stu_perform去掉 就会提示stu_age标识符无效。
求解决 麻烦各位大虾了~

从你在pl/sql desc命令看出,你的字段名为小写,建表时字段加双引号的结果
create table t_studetn("stu_id","stu_name",.........
这样的话,在插入数据时字段上也加上双引号,并且大小写要对应,这样:
insert into T_STUDENT ("stu_id", "stu_name", "stu_password", "stu_age", "stu_perform") values (‘001‘, ‘David‘, ‘David‘, 12, 89.00);

所以在建表时和使用标识符的时候都不要加上双引号,免得自找麻烦。。。

从你在pl/sql desc命令看出,你的字段名为小写,建表时字段加双引号的结果 create table t_studetn("stu_id","stu_name",......... 这样的话,在插入数据时字段上也加上双引号,并且大小写要对应,这样: insert into T_STUDENT ("stu_id", "stu_name", "stu_password", "stu_ag……

楼上果然厉害。 我也desc了我自己的表,字段真的是大写的。楼主的小写 ,估计就是这的事。平时还得细心观察这些小事呢

从你在pl/sql desc命令看出,你的字段名为小写,建表时字段加双引号的结果 create table t_studetn("stu_id","stu_name",......... 这样的话,在插入数据时字段上也加上双引号,并且大小写要对应,这样: insert into T_STUDENT ("stu_id", "stu_name", "stu_password", "stu_age……

我靠 我是用建模工具弄的 靠 太谢谢你了 原来是这样

时间: 2024-07-29 06:26:38

oracle插入数据问题的相关文章

Oracle 插入数据效率对比

oracle插入数据有多种方式: 将从多个表中查出来的数据插入到临时表中 数据行数 5189597 1.传统方式:直接将数据插入到表中 1 insert into LLB_BASIC_USER_D_TEMP_TEST 2 select t.serv_id, 3 t.phone_id, 4 a1.loc_imei t, 5 region_code, 6 t.county_code, 7 t.payment_mode_cd, 8 t.plan_id, 9 t.productflux, 10 t.al

JDBC向oracle插入数据

1 public static void main(String[] args) throws SQLException { 2 2 3 3 4 4 String driver="oracle.jdbc.driver.OracleDriver"; 5 5 String url="jdbc:oracle:thin:@www.ee.w.www:1521:orcl"; 6 6 String user="rrr"; 7 7 String password

oracle 插入数据前判断表中是否存储重复数据

有时候用oracle的数据库,插入数据的时候需要判断一下该条数据是否已经存在. 我们的第一思路如下,首先执行下面这个sql: select count(*) isExists from t_test_lll: 然后判断isExists等于0与否,如果等于0,则执行insert. 上面这样写,也可以,但是多写很多代码,不利于后期维护. 其实oracle可以内置在insert语句中进行判断,如下sql: insert when (not exists (select 1 from t_test_ll

oracle插入数据

插入数据的方法有多种,这里简单介绍三种 1.常规插入数据 select * from emp;---已scott.emp表为例 ----按照values插入数据insert into emp (empno,ename ,job,mgr, hiredate , sal ,comm, deptno) values (1122,'steve','工人',2233,to_date('2017-01-03','YYYY-MM-DD'),3000,500,20); ----当插入表中所有的列时,列名可以不写

oracle插入数据时解决和旧数据id的冲突

我们在使用oracle创建一个主键的时候需要让他自增, 但是他跟mysql不同,需要创建序列,具体看下面: 可以删除之前创建的sequence,我们在重新创建一个: DROP SEQUENCE SJGXQK_sequence; --删除 create sequence SJGXQK_sequence  --( SJGXQK_sequence,这个代表的是你的序列的名称)INCREMENT BY 1 -- 每次加几个START WITH 1 -- 从1开始计数NOMAXVALUE -- 不设置最大

业余时间尝试Oracle插入数据

第一种:begin for r1 in 1..3000000 loop insert into oracle_study(id,name) values(r1,'abc'|| r1); commit; end loop; End; 35分钟57秒(2157.182秒):插入3000000条 每秒1390.7032条 第二种:INSERT INTO ORA_STUDY SELECT * FROM ORACLE_STUDY; COMMIT; 613.662秒:插入3000000条 每秒4888.68

Mybatis中使用Oracle插入数据返回新记录主键ID的问题

下面是我的Mapper配置 1 <insert id="insertXiangce" parameterType="XiangCe"> <!-- useGeneratedKeys="true" keyProperty="paid" --> 2 3 <selectKey keyProperty="paid" resultType="Integer" order

定时往oracle插入数据

1创建存储过程 create or replace procedure job_proc isbegininsert into yy (yid) values (sysdate);end; 2创建job DECLARE JOB BINARY_INTEGER; --任务ID v_begin DATE; --开始时间 v_interval VARCHAR2(50); --时间间隔BEGIN v_begin:=sysdate;--当前时间开始执行 v_interval:= 'trunc(sysdate

触发器实现对插入数据的字段更改 Oracle+SQL Server

最近有个使用触发器实现对插入数据的某个列做更改的需求,因此整理了Oracle和SQL Server对于此类需求的触发器写法,本文仅提到了Insert触发器. 首先我们创建一张表: --创建Test表 Create table test(id int primary key,name varchar(20),sex varchar(1),status int) 我们的目的是实现新插入的数据满足sex字段为null时就把status设为1的需求,可根据实际需要更改条件. 因此SQL Server的写