Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何通过存储过程从包含多个字段的记录变量向表中插入数据_Sql_Oracle - Fatal编程技术网

Sql 如何通过存储过程从包含多个字段的记录变量向表中插入数据

Sql 如何通过存储过程从包含多个字段的记录变量向表中插入数据,sql,oracle,Sql,Oracle,如何通过存储过程将数据从包含多个字段的记录变量插入表中 情况是: create or replace PROCEDURE CAN_PRICE AS TYPE REC IS RECORD(FILLER VARCHAR2(20),PACKAGE_SIZE VARCHAR2(20),WHOLESALE_PRICE VARCHAR2(20),DEALERMBA VARCHAR2(20),DEALER_PRICE VARCHAR2(20),UNIT_OF_MEASURE VARCHAR2(20),PART

如何通过存储过程将数据从包含多个字段的记录变量插入表中

情况是:

create or replace
PROCEDURE CAN_PRICE AS
TYPE REC IS RECORD(FILLER VARCHAR2(20),PACKAGE_SIZE VARCHAR2(20),WHOLESALE_PRICE VARCHAR2(20),DEALERMBA VARCHAR2(20),DEALER_PRICE VARCHAR2(20),UNIT_OF_MEASURE VARCHAR2(20),PART_SYMBOL VARCHAR2(20),CORE_CHANGE VARCHAR2(20),FILLER1 VARCHAR2(20),PART_CLASS VARCHAR2(20),TRADE_PRICE VARCHAR2(20),RETAIL_PRICE VARCHAR2(20));
TYPE T1 IS TABLE OF NUMBER;
CURSOR C1 is SELECT ROW_NUMBER FROM TEMP1 WHERE TRADE_PRICE LIKE '%SEE%';
T T1;
R REC;
P VARCHAR2(20);
P1 NUMBER;
BEGIN
OPEN C1;  
FETCH C1 BULK COLLECT INTO T;
CLOSE C1;
 FOR i IN T.FIRST .. T.LAST
    LOOP
    SELECT PART_NUMBER INTO P FROM TEMP1 WHERE ROW_NUMBER =T(i);


       SELECT FILLER,PACKAGE_SIZE,WHOLESALE_PRICE,DEALERMBA,DEALER_PRICE,UNIT_OF_MEASURE,PART_SYMBOL,CORE_CHANGE,FILLER1,PART_CLASS ,TRADE_PRICE,RETAIL_PRICE INTO R FROM TEMP1 WHERE ROW_NUMBER=T(i)+1;--FOR EXCHANGE ROW
       SELECT TO_NUMBER(WHOLESALE_PRICE) INTO P1 FROM TEMP1 WHERE ROW_NUMBER=T(i)+2;--FOR CORE CHARGE
       EXECUTE(' INSERT INTO CHR_CS_BL_1.BL_MACS_CAN_PRICE(FILLER,               
PACKAGE_SIZE,         
WHOLESALE_PRICE,      
DEALERMBA,            
DEALER_PRICE,         
UNIT_OF_MEASURE ,     
PART_SYMBOL,          
CORE_CHANGE,          
PART_NUMBER,          
FILLER1,              
PART_CLASS ,          
RETAIL_PRICE ,        
CORE_CHG  )
VALUES
 (R.FILLER,R.PACKAGE_SIZE,TO_NUMBER(R.WHOLESALE_PRICE) ,TO_NUMBER(R.DEALERMBA),TO_NUMBER(R.DEALER_PRICE),
 R.UNIT_OF_MEASURE,R.PART_SYMBOL,R.CORE_CHANGE,P,R.FILLER1,R.PART_CLASS ,TO_NUMBER(R.TRADE_PRICE),TO_NUMBER(R.RETAIL_PRICE),P1)');

    END LOOP;
END;
--我想将记录变量R中的值插入表BL\U MACS\U CAN\U PRICE?
你如何做到这一点

这是什么具体的数据库?请使用mysql、oracle、postgresql或sql server或您正在使用的任何其他工具更新您的标记。SQL只是查询语言,而不是数据库产品……为什么要使用动态SQL进行简单的插入?