很多人没注意的select into 问题讨论

zhuguson zhuguson 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

CREATE OR REPLACE PROCEDURE insertBlob(id varchar2, imgFile varchar2)
IS
img_file BFILE;
img_blob BLOB;
lob_length NUMBER;
BEGIN
INSERT INTO personphoto VALUES(id,empty_blob());
SELECT photo INTO img_blob FROM personphoto WHERE pid = id; -- 这里只是把photo 列值给了img_blob
img_file := bfilename('PHOTO',imgFile);
dbms_lob.OPEN(img_file);
lob_length := dbms_lob.getlength(img_file);
dbms_lob.loadfromfile(img_blob,img_file,lob_length); -- 这里只是把img_blob修改了,但是为什么会同时修改表personphoto 中photo 列对应的记录呢???????
dbms_lob.close(img_file);
COMMIT;
end;
/

比较

CREATE OR REPLACE PROCEDURE testinsert(in_SNO NUMBER)
IS
u_name Varchar2(10);
BEGIN
SELECT sname INTO u_name FROM STUDENT WHERE sno = in_SNO; -- 这里把sname列值给了u_name
u_name := 'TTTT'; -- 这里把u_name改变了,但是STUDENT 表中sname列对应的记录不会变。。。???????
COMMIT;
END;
/


上面两个程序中都是用select into,但是第一个会把表的记录数据也修改,第二个却不会,这是为什么???????
...全文

相关推荐

MYSQL SELECT INTO 和 INSERT INTO SELECT

关于MySQL中“SELECT INTO”和“INSERT INTO SELECT”两种语法的使用与说明。

oldfour619

select into和insert into select使用方法

select into 和 insert into select 两种表复制语句 第一句(select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建 第二句(insert into select from)要求目标表(destTbl)存在,由于目标表已经存在,所以我们除了插入源表(srcTbl)的字段外,还可以插入常量

依漫工作室

SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的区别)

1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,…) select value1,value2,… from Table1 或者:Insert into Table2 select * from Table1 注意:(1)要求目标表Table2必须存在,并且字段field,field2…也必须存在 (2)注意Table2的主键约束,如果Table2有主键而且不为空,则 field1, field2…中必须包括主键 (3)注意语法,不要加values,和插入一条数据的sql混了,不要写成: Insert into Tab

weixin_38673237

INSERT INTO SELECT语句与SELECT INTO FROM语句的一些区别

INSERT INTO SELECT语句与SELECT INTO FROM语句的一些区别介绍,需要的朋友可以参考下面的说明与条件

weixin_38694343

SELECT INTO 和 INSERT INTO SELECT 两种表复制语句简单介绍

Insert是T-sql中常用语句,Insert INTO table(field1,field2,…) values(value1,value2,…)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。 1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,…) select value1

weixin_38706603
评论 3
收藏 已收藏
分享
返回顶部
zhuguson
Oracle 高级技术 3,499 成员 18,710 内容