E
erbird
Unregistered / Unconfirmed
GUEST, unregistred user!
我建了两个表:
--业务信息表
Create Sequence InfoID
Start With 1
Increment By 1;
CREATE TABLE YW_Info(
InfoID number PRIMARY KEY, --信息ID
AcceptNum varchar(14) NOT NULL Unique, --受理编号
PhoneCode varchar(8) NOT NULL, --电话号码
Client varchar(40), --客户名称
FormerClient varchar(40), --原客户名称
Account varchar(20), --用户帐号名
IDCard varchar(18), --身份证号
RegisterDate date, --登记日期
FinishDate date, --竣工日期
InstallAddr varchar(40), --装机地址
PicID number DEFAULT 0); --图片库的ID
--图片表
Create Sequence PicID
Start With 1
Increment By 1;
CREATE TABLE YW_Pic(
PicID number PRIMARY KEY, --图片ID
PicInfo blob NOT NULL); --图片信息
现在我要建一个存储过程,功能是:在图片库YW_Pic中加入图片后自动产生PicID,然后使图片表YW_Pic的PicID对应业务信息表YW_Info中的PicID。原来用SQL Server中这样写:
--添加图片
DROP PROC PM_ApendPicProc
GO
CREATE PROC PM_ApendPicProc @iInfoID bigint,@sImage image
AS
INSERT INTO YW_Pic(PicInfo) VALUES (@sImage)
UPDATE YW_Info
SET PicID=@@IDENTITY
WHERE InfoID=@iInfoID
GO
现我要用oracle改写,为:
CREATE OR REPLACE PROCEDURE PM_ApendPicProc
(iInfoID number,sImage Blob)
AS
BEGIN
INSERT INTO YW_Pic(PicInfo) VALUES (sImage);
UPDATE YW_Info
SET PicID=IDENTITY
WHERE InfoID=iInfoID;
END;
/
在SQL Server中能直接插入已经转为二进制的图片,在oracle中好像不行,我该怎么写???
--业务信息表
Create Sequence InfoID
Start With 1
Increment By 1;
CREATE TABLE YW_Info(
InfoID number PRIMARY KEY, --信息ID
AcceptNum varchar(14) NOT NULL Unique, --受理编号
PhoneCode varchar(8) NOT NULL, --电话号码
Client varchar(40), --客户名称
FormerClient varchar(40), --原客户名称
Account varchar(20), --用户帐号名
IDCard varchar(18), --身份证号
RegisterDate date, --登记日期
FinishDate date, --竣工日期
InstallAddr varchar(40), --装机地址
PicID number DEFAULT 0); --图片库的ID
--图片表
Create Sequence PicID
Start With 1
Increment By 1;
CREATE TABLE YW_Pic(
PicID number PRIMARY KEY, --图片ID
PicInfo blob NOT NULL); --图片信息
现在我要建一个存储过程,功能是:在图片库YW_Pic中加入图片后自动产生PicID,然后使图片表YW_Pic的PicID对应业务信息表YW_Info中的PicID。原来用SQL Server中这样写:
--添加图片
DROP PROC PM_ApendPicProc
GO
CREATE PROC PM_ApendPicProc @iInfoID bigint,@sImage image
AS
INSERT INTO YW_Pic(PicInfo) VALUES (@sImage)
UPDATE YW_Info
SET PicID=@@IDENTITY
WHERE InfoID=@iInfoID
GO
现我要用oracle改写,为:
CREATE OR REPLACE PROCEDURE PM_ApendPicProc
(iInfoID number,sImage Blob)
AS
BEGIN
INSERT INTO YW_Pic(PicInfo) VALUES (sImage);
UPDATE YW_Info
SET PicID=IDENTITY
WHERE InfoID=iInfoID;
END;
/
在SQL Server中能直接插入已经转为二进制的图片,在oracle中好像不行,我该怎么写???
代码: