中易网

oracle插入变量到表中

答案:5  悬赏:80  
解决时间 2021-02-18 14:50
declare
tname varchar(10);
tage number(2);
twages number(5);
begin
select DBMS_RANDOM.string('a',10) into tname from dual;
select dbms_random.value(30,50) into tage from dual;
select dbms_random.value(3000,5000) into twages from dual;
end;
insert into teacher values(Tid_seq.Nextval,tname,M,tage,twages)
Tid_seq是写好的自增序列,表中每项和插入顺序对应,报错



最佳答案
块结构 中的变量,insert into 获取不到
如果你的表定义没错,则下面应该没问题:
declare
tname varchar(10);
tage number(2);
twages number(5);
begin
select DBMS_RANDOM.string('a',10) into tname from dual;
select dbms_random.value(30,50) into tage from dual;
select dbms_random.value(3000,5000) into twages from dual;
insert into teacher values(Tid_seq.Nextval,tname,M,tage,twages)
end;
或者:
变量的声明用define /var 去定义,在获取,insert写在外面则也没问题
全部回答
估计是缺少引号的缘故。v_name是varchar2的吧。 改成 execute immediate ' insert into addtopinfo values('||sysdate||',‘‘'||v_name||'’’)'; 试试,就是v_name变量在语句里要有引号 。拼接字符串时每两个“'” 会被解析成为一个“'”
对的啦 LZ你犯了很低级的错误啦 你end掉了匿名块,insert的时候哪来的Nextval,tname,M,tage,twages这几个变量咯
将insert 语句写在end之前,这是个plsql的匿名块,insert语句应该包含在其中。
declare tname varchar(10); tage number(2); twages number(5); begin select DBMS_RANDOM.string('a',10) into tname from dual; select dbms_random.value(30,50) into tage from dual; select dbms_random.value(3000,5000) into twages from dual; insert into teacher values(Tid_seq.Nextval,tname,M,tage,twages); end;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
解不等式3x方-mx-m>0
赛罕区人民路办事处社区卫生服务中心在哪里啊
描写阁楼的句子
hi,derick_wj.之前看到你关于qtp安装后部分ja
薇诺诗爆奶霜怎么样
我想知道爱心幼儿园是否公立幼儿园,收费情况
幽栖鸟得林中乐,燕坐人存世外心是什么意思
不拿来玩,怎么有意思
学生篇新八德,心得500字
泰拉瑞亚攻击力超过200的刀有什么。。。
养的荷兰猪(豚鼠)死了。寻找死亡原因。 白
火车票代售地址在什么地方,想过去办事
JAVA的for循环的内循环和外循环哪个控制行哪
尹恩惠真实身高多少 ? 她找男朋友找多高男的
茶叶店的收银台摆门口风水好不好
推荐资讯
海贼王动画465对应漫画是多少话?
水稻苗能吃吗
我的劳工证已经办了4个多月啦,一直没有答复
金茗茶行在哪里啊,我有事要去这个地方
元力装饰材料商店我想知道这个在什么地方
我们是一家就几十个人的船舶管道安装的公司,
只要少吃油就能降血脂吗
MHz 这个是什么单位﹖
+1(350)21 -464这是什么电话号码?
请问到省汽车站怎么坐车呢?
冲口大桥地址在什么地方,想过去办事
万海通讯地址在什么地方,想过去办事
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?