Oracle 存储过程传进去一个s_id查询出一条或多条数据,想要在原表中新增这几条数据,改变几个字段值!在一个存储过程中实现,sql可以怎么写?存储Oraclesql
解决方案 »
- 列出有两门(含)以上不及格课程的学生名单及其平均成绩
- 一个简单的问题!oracle BLOB占多少字节
- 请问高人:定时间每隔一个月运行一次存储过程,时间那段如何计算( DBMS—JOB。SUBMIT(:JOBNO,‘PROCEDURE—NAME’,SYSDATE,‘SYSDA
- select t.* from table1 t where t.c >(select avg(t2.c) from table1 t2 where t1.d=t2.d)
- 查询当前时间
- 谁能告诉我视图V$sql的用途是什么
- 数据库链接问题
- 我想创建保存图象的字段,是什么类型?
- ORA-01002: 读取违反顺序,是什么错误,应该怎样解决!
- 存储过程
- oracle行锁问题请求oracle高手帮助
- 请教一SQL语句
操作表 student 字段(s_id, s_name, s_sex, c_id)
操作前的表中的值:
s_id s_name s_sex c_id
1 张三 1 5
2 李四 2 5
3 王五 1 6
查询c_id = 5 有两条数据,然后在表中新增查出来的两条数据后就变成:
1 张三 1 5
2 李四 2 5
3 王五 1 6
4 张三 1 10
5 李四 2 10
select t.s_id, t.s_name, t.s_sex, t.c_id * 2 c_id
from student t
where t.c_id = '5';
student values(s_id, s_name, s_sex, c_id)
select s_id,s_name,s_sex,10
from student
where c_id=5
insert into student
select t.s_id,
t.s_name,
t.s_sex,
case
when count(t.c_id) over(partition by c_id) = 1 then
t.c_id
else
t.c_id * count(t.c_id) over(partition by c_id)
end c_id
from student t
where t.c_id = '5';
不是新增c_id的值是传进去的和其他字段的值没关系!
select 5 s_id ,s_name,s_sex,10 c_id from student where c_id=5
s_id是主键,执行为什么就不行了了?plsql中报ORA-00933:SQL command not properly ended
这个值不一定,我只是随便写的一个,引用的其他表的id 需要传进来的!
insert into student values(s_id, s_name, s_sex, c_id)
select 5 s_id ,s_name,s_sex,10 c_id from student where c_id=5
s_id是主键,执行为什么就不行了了?
报ORA-00933:SQL command not properly ended
基本语法都搞不会?insert into student
(s_id, s_name, s_sex, c_id)
select 5 s_id, s_name, s_sex, 10 c_id from student where c_id = 5
基本语法都搞不会?insert into student
(s_id, s_name, s_sex, c_id)
select 5 s_id, s_name, s_sex, 10 c_id from student where c_id = 5
哇,一眼就被你看出来了,真厉害!