oracle更新blol字段超长,oracle - 将对象值插入表PL / SQL而无需指定属性 - 堆栈内存溢出...

我有以下架构

DROP TABLE ALUMNO_ASIGNATURA;

DROP TABLE ASIGNATURA;

DROP TABLE TITULACION;

DROP TABLE PROFESOR;

DROP TABLE ALUMNO;

DROP TABLE PERSONA;

CREATE TABLE PERSONA

( DNI VARCHAR2(9) CONSTRAINT PERSONA_PK PRIMARY KEY,

NOMBRE VARCHAR2(20) CONSTRAINT PERSONA_NOMBRE_NN NOT NULL,

APELLIDO VARCHAR2(30) CONSTRAINT PERSONA_APELLIDO_NN NOT NULL,

CIUDAD VARCHAR2(20),

DIRECCIONCALLE VARCHAR2(30),

DIRECCIONNUM VARCHAR2(3),

TELEFONO VARCHAR2(9),

FECHANACIMIENTO DATE,

VARON VARCHAR2(1) CONSTRAINT PERSONA_VARON_NN NOT NULL

CONSTRAINT PERSONA_VARON_CK CHECK (VARON BETWEEN 0 AND 1)

);

COMMENT ON COLUMN persona.varon IS '0 para mujer, 1 para hombre';

CREATE TABLE PROFESOR

( IDPROFESOR VARCHAR2(4) CONSTRAINT PROFESOR_PK PRIMARY KEY,

DNI VARCHAR2(9) CONSTRAINT PROFESOR_DNI_NN NOT NULL

CONSTRAINT PROFESOR_PERSONA_FK REFERENCES PERSONA (DNI) ON DELETE CASCADE

);

CREATE TABLE ALUMNO

( IDALUMNO VARCHAR2(7) CONSTRAINT ALUMNO_PK PRIMARY KEY,

DNI VARCHAR2(9) CONSTRAINT ALUMO_DNI_NN NOT NULL

CONSTRAINT ALUMNO_PERSONA_FK REFERENCES PERSONA (DNI) ON DELETE CASCADE

);

CREATE TABLE TITULACION

( IDTITULACION VARCHAR2(6) CONSTRAINT TITULACION_PK PRIMARY KEY,

NOMBRE VARCHAR2(30) CONSTRAINT TITULACION_NOMBRE_NN NOT NULL

);

CREATE TABLE ASIGNATURA

( IDASIGNATURA VARCHAR2(6) CONSTRAINT ASIGNATURA_PK PRIMARY KEY,

NOMBRE VARCHAR2(50) CONSTRAINT ASIGNATURA_NOMBRE_NN NOT NULL,

CREDITOS NUMBER(3,1),

CUATRIMESTRE VARCHAR2(1),

COSTEBASICO NUMBER(16,2),

IDPROFESOR VARCHAR2(4) CONSTRAINT ASIGNATURA_PROFESOR_FK REFERENCES PROFESOR (IDPROFESOR) ON DELETE SET NULL,

IDTITULACION VARCHAR2(6) CONSTRAINT ASIGNATURA_IDTITULACION_NN NOT NULL

CONSTRAINT ASIGNATURA_TITULACION_FK REFERENCES TITULACION (IDTITULACION) ON DELETE CASCADE,

CURSO VARCHAR2(1)

);

CREATE TABLE ALUMNO_ASIGNATURA

( IDALUMNO VARCHAR2(7) CONSTRAINT ALUMNO_ASIGNATURA_ALUMNO_FK REFERENCES ALUMNO (IDALUMNO) ON DELETE CASCADE,

IDASIGNATURA VARCHAR2(6) CONSTRAINT ALUMNO_ASIGNATURA_ASIGNAT_FK REFERENCES ASIGNATURA (IDASIGNATURA) ON DELETE CASCADE,

NUMEROMATRICULA VARCHAR2(1) CONSTRAINT ALUMNO_ASIGNATURA_NUM_MATR_NN NOT NULL,

CONSTRAINT ALUMNO_ASIGNATURA_PK PRIMARY KEY (IDALUMNO, IDASIGNATURA)

);

--ALTER TABLE ALUMNO ADD CONSTRAINT ALUMNO_DNI_UQ UNIQUE (DNI);

--ALTER TABLE PROFESOR ADD CONSTRAINT PROFESOR_DNI_UQ UNIQUE (DNI);

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('02852373F','Noelia','Ruiz','Madrid','Romeral','34','916432348',to_date('23/09/74','DD/MM/RR'),'0');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('07634664I','Benito','Encinas','Madrid','Polar','67','916436467',to_date('30/01/67','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('10210210B','Juan','Perez','Teruel','Teruel','56','936111111',to_date('01/02/70','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('12354123T','Gregorio','Llamas','Sevilla','Ro','67','942133336',to_date('17/08/79','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('12456789B','Encarna','Loles','Huesca','Huesca','67','955674523',to_date('18/06/78','DD/MM/RR'),'0');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('16161616A','Luis','Ramírez','Haro','Pez','34','941111111',to_date('01/01/69','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('17171717A','Laura','Beltrán','Madrid','Gran Vía','23','912121212',to_date('08/08/74','DD/MM/RR'),'0');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('18181818A','Pepe','Pérez','Madrid','Percebe','13','913131313',to_date('02/02/80','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('19191919A','Juan','Sánchez','Bilbao','Melancolía','7','944141414',to_date('03/03/66','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('20202020A','Luis','Jiménez','Nájera','Cigüeña','15','941151515',to_date('03/03/79','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('20220220B','Luis','Valiente','Lugo','San Cristobal','23','956567893',to_date('13/04/60','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('21123124R','Javier','Maganto','Madrid','Fax','23','917643653',to_date('16/07/78','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('21212121A','Rosa','García','Haro','Alegría','16','941161616',to_date('04/04/78','DD/MM/RR'),'0');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('23232323A','Jorge','Sáenz','Logroño','Luis Ulloa','17','941171717',to_date('09/09/78','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('24242424A','María','Gutiérrez','Logroño','Avda. de la Paz','18','941181818',to_date('10/10/64','DD/MM/RR'),'0');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('25252525A','Rosario','Díaz','Logroño','Percebe','19','941191919',to_date('11/11/71','DD/MM/RR'),'0');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('26262626A','Elena','González','Logroño','Percebe','20','941202020',to_date('05/05/75','DD/MM/RR'),'0');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('30303030B','Pedro','Del Río','Zamora','Antequera','89','967653424',to_date('18/12/68','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('32456245H','Gustavo','Pérez','Valencia','Numancia','234','947676576',to_date('25/04/79','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('37634764E','Mariano','Rodriguez','Madrid','Sal','56','917334653',to_date('23/05/78','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('41515151C','Eduardo','Rodriguez','Valladolid','Roquera','67','956666666',to_date('14/06/75','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('42456487E','Rita','Cantora','Soria','Robles','67','956433423',to_date('24/11/69','DD/MM/RR'),'0');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('44212123J','Paloma','Morales','Madrid','Gotan','34','917636436',to_date('12/12/84','DD/MM/RR'),'0');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('50101010D','María','Sanz','Malaga','Ronda','8','956454545',to_date('13/05/67','DD/MM/RR'),'0');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('54343433T','Alfonso','Cuevas','Valencia','Valencia','45','937845754',to_date('18/07/68','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('57632786G','Susana','Moral','Guadalajara','Gran Vía','35','915762646',to_date('17/08/75','DD/MM/RR'),'0');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('63256769H','José','Dorado','Sevilla','Al Andalus','27','945685548',to_date('12/04/78','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('63456432G','Esther','Barahona','Valencia','Valencia','123','935476548',to_date('24/06/79','DD/MM/RR'),'0');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('64329354E','Cristina','Santos','Madrid','Evaristo','1','912376475',to_date('18/10/67','DD/MM/RR'),'0');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('64423568C','Rocío','García','Madrid','Plaza de España','89','912347890',to_date('12/10/72','DD/MM/RR'),'0');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('76347852I','Marta','Canton','Huelva','Flor','56','967764435',to_date('25/04/78','DD/MM/RR'),'0');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('76453435G','Joaquín','Carmona','Valencia','Caracas','12','937634566',to_date('17/04/75','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('76529637F','Rodolfo','Sanz','Madrid','Monasterio','88','915643258',to_date('15/12/80','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('76666436D','Gerardo','Prado','Madrid','Del Olmo','145','917643643',to_date('15/06/67','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('84545680F','Daniel','Chavero','Madrid','jázmin','34','917664764',to_date('23/06/67','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('86546543R','Rufino','Mellado','Sevilla','Rufino','45','948765676',to_date('16/04/76','DD/MM/RR'),'1');

Insert into PERSONA (DNI,NOMBRE,APELLIDO,CIUDAD,DIRECCIONCALLE,DIRECCIONNUM,TELEFONO,FECHANACIMIENTO,VARON) values ('86876755F','Clara','Estévez','Madrid','Barco','34','919536754',to_date('23/03/67','DD/MM/RR'),'0');

Insert into PROFESOR (IDPROFESOR,DNI) values ('P101','19191919A');

Insert into PROFESOR (IDPROFESOR,DNI) values ('P102','10210210B');

Insert into PROFESOR (IDPROFESOR,DNI) values ('P117','25252525A');

Insert into PROFESOR (IDPROFESOR,DNI) values ('P202','20220220B');

Insert into PROFESOR (IDPROFESOR,DNI) values ('P203','23232323A');

Insert into PROFESOR (IDPROFESOR,DNI) values ('P204','26262626A');

Insert into PROFESOR (IDPROFESOR,DNI) values ('P303','30303030B');

Insert into PROFESOR (IDPROFESOR,DNI) values ('P304','24242424A');

Insert into PROFESOR (IDPROFESOR,DNI) values ('P415','41515151C');

Insert into PROFESOR (IDPROFESOR,DNI) values ('P500','50101010D');

Insert into PROFESOR (IDPROFESOR,DNI) values ('P600','37634764E');

Insert into PROFESOR (IDPROFESOR,DNI) values ('P777','86876755F');

Insert into PROFESOR (IDPROFESOR,DNI) values ('P888','63256769H');

Insert into PROFESOR (IDPROFESOR,DNI) values ('P999','76347852I');

Insert into ALUMNO (IDALUMNO,DNI) values ('A010101','21212121A');

Insert into ALUMNO (IDALUMNO,DNI) values ('A020202','18181818A');

Insert into ALUMNO (IDALUMNO,DNI) values ('A030303','20202020A');

Insert into ALUMNO (IDALUMNO,DNI) values ('A040404','26262626A');

Insert into ALUMNO (IDALUMNO,DNI) values ('A050505','12456789B');

Insert into ALUMNO (IDALUMNO,DNI) values ('A060606','64423568C');

Insert into ALUMNO (IDALUMNO,DNI) values ('A070707','42456487E');

Insert into ALUMNO (IDALUMNO,DNI) values ('A080808','76529637F');

Insert into ALUMNO (IDALUMNO,DNI) values ('A090909','64329354E');

Insert into ALUMNO (IDALUMNO,DNI) values ('A101010','02852373F');

Insert into ALUMNO (IDALUMNO,DNI) values ('A121212','16161616A');

Insert into ALUMNO (IDALUMNO,DNI) values ('A122143','21123124R');

Insert into ALUMNO (IDALUMNO,DNI) values ('A131313','17171717A');

Insert into ALUMNO (IDALUMNO,DNI) values ('A232358','07634664I');

Insert into ALUMNO (IDALUMNO,DNI) values ('A256346','32456245H');

Insert into ALUMNO (IDALUMNO,DNI) values ('A344746','76453435G');

Insert into ALUMNO (IDALUMNO,DNI) values ('A444378','57632786G');

Insert into ALUMNO (IDALUMNO,DNI) values ('A465665','44212123J');

Insert into ALUMNO (IDALUMNO,DNI) values ('A653344','86546543R');

Insert into ALUMNO (IDALUMNO,DNI) values ('A654455','84545680F');

Insert into ALUMNO (IDALUMNO,DNI) values ('A747647','63456432G');

Insert into ALUMNO (IDALUMNO,DNI) values ('A754576','76666436D');

Insert into ALUMNO (IDALUMNO,DNI) values ('A796476','54343433T');

Insert into ALUMNO (IDALUMNO,DNI) values ('A834532','12354123T');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('100007','Físicas');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('100011','Políticas');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('100042','Dirección de empresas');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('100043','Economía');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('110010','Ingeniería Industrial');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('110052','Ingeniero Industrial');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('110053','Informática Sistemas');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('110054','Informática Gestión');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('110055','Ingeniero en Informática');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('120001','Derecho');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('130043','Educación social');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('130047','Psicología');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('130048','Pedagogía');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('130049','Psicopedagogía');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('130061','Trabajo Social');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('130110','Matemáticas');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('140034','Filosofía');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('140044','Historia');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('140045','Filología Hispánica');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('140046','Filología Inglesa');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('150210','Químicas');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('160000','Empresariales');

Insert into TITULACION (IDTITULACION,NOMBRE) values ('170056','Turismo');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('000115','Seguridad Vial', '4,5','1','30','P204','170056','1');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('076767','Ampliación de informática gráfica', '6','1','658,89','P500','110053','4');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('097343','Algoritmos paralelos', '6','1','78','P500','110054','3');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('123536','Ampliación de estructura de computadores', '4,5','2','68,89','P600','110054','3');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('130113','Programación I', '9','1','60','P101','130110','1');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('130122','Análisis II', '9','2','60','P203','130110','2');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('150212','Química Física', '4,5','2','70','P304','150210','1');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('160002','Contabilidad', '6','1','70','P117','160000','1');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('213123','Automatización industrial', '6','2','78,89','P303','110052','2');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('232325','Ampliación de redes', '6','1','78,9','P888','110054','3');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('323336','Algoritmos y estructuras de datos II', '4,5','2','45,67','P500','110053','3');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('324234','Aplicaciones específicas de red', '4,5','1','67,67','P888','110054','3');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('455457','Álgebra', '4,5','1','78','P415','110054','2');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('484847','Ampliación de arquitectura de computadores', '9','2','45,89','P600','110053','3');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('634437','Administración avanzada de sistemas informáticos', '9','1','110,89','P415','110054','3');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('765376','Antecedentes y evolución de la informática', '6','2','87,56','P202','110054','2');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('786476','Análisis de datos', '9','2','76,89','P999','110055','2');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('856557','Algoritmos y estructuras de datos I', '9','2','67','P500','110053','2');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('872464','Ampliación de electrónica', '6','1','56,09','P203','110052','2');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('896476','Arquitecturas avanzadas', '9','2','34,89','P600','110055','3');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('897478','Ampliación de inteligencia artificial', '9','2','56,89','P600','110055','4');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('976677','Análisis matemático', '6','2','764,89','P203','130110','3');

Insert into ASIGNATURA (IDASIGNATURA,NOMBRE,CREDITOS,CUATRIMESTRE,COSTEBASICO,IDPROFESOR,IDTITULACION,CURSO) values ('986796','Arquitectura e Ingenieria de los computadores', '6','2','45,89','P600','110055','3');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A010101','150212','1');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A020202','130113','1');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A020202','150212','2');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A030303','130113','3');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A030303','130122','2');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A030303','150212','1');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A040404','130122','1');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A121212','000115','1');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A122143','130113','1');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A122143','130122','2');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A122143','976677','3');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A131313','160002','4');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A232358','076767','3');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A232358','323336','2');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A232358','856557','1');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A256346','786476','2');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A256346','896476','4');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A256346','897478','1');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A256346','986796','3');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A344746','213123','2');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A344746','872464','1');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A444378','097343','3');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A444378','123536','4');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A444378','232325','5');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A444378','324234','5');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A444378','455457','2');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A444378','634437','1');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A444378','765376','5');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A465665','786476','2');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A465665','896476','4');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A465665','897478','1');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A465665','986796','3');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A653344','213123','2');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A653344','872464','1');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A654455','097343','3');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A654455','123536','4');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A654455','455457','2');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A654455','634437','1');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A747647','213123','2');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A747647','872464','1');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A754576','130113','1');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A754576','130122','2');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A754576','976677','3');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A796476','130113','1');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A796476','130122','2');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A796476','976677','3');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A834532','213123','2');

Insert into ALUMNO_ASIGNATURA (IDALUMNO,IDASIGNATURA,NUMEROMATRICULA) values ('A834532','872464','1');

COMMIT;

我创建了一个名为'AsignaturaObj'的对象类型,它映射表'Asignatura'中的行,我想知道是否可以将对象插入表中而不必指定其所有属性:

SET SERVEROUTPUT ON

declare

contador pls_integer;

begin -- tengo que borrar antiguas dependencias entre objetos para poder recrear los míos

select count(*) into contador from user_objects where object_name=upper('TablaAsignatura');

if contador = 1 then

execute immediate 'drop type TablaAsignatura';

end if;

select count(*) into contador from user_objects where object_name=upper('AsignaturaObj');

if contador = 1 then

execute immediate 'drop type AsignaturaObj';

end if;

end;

/

CREATE TYPE AsignaturaObj AS OBJECT(

idAsignatura varchar2(6),

nombre varchar2(50),

curso number(1,0), -- en el original curso y cuatrimestre son varchar2, lo he cambiado por probar

cuatrimestre number(1,0),

créditos number(3,1),

coste number(6,2), -- no necesitamos un número de 16 dígitos como en el original

idProfesor varchar2(4),

idTitulación varchar2(6)

);

/

CREATE OR REPLACE TYPE TablaAsignatura AS TABLE OF AsignaturaObj;

/

declare

conjuntoAsignaturas tablaAsignatura := TablaAsignatura();

miAsignatura AsignaturaObj;

begin

conjuntoAsignaturas.extend(3);

conjuntoAsignaturas(1) := asignaturaObj('222222', 'Pulpos', 2, 1, '4,5', 120, 'Q000', '111111');

conjuntoAsignaturas(2) := asignaturaObj('222223', 'Pólipos', 2, 1, '3', 80, 'Q000', '222222');

conjuntoAsignaturas(3) := asignaturaObj('130114', 'Programación II', 2, 1, '9', 80, 'P101', '130110');

miAsignatura := asignaturaObj('130114', 'Programación II', 2, 1, '9', 80, 'P101', '130110');

-- THIS WORKS OBVIOUSLY

insert into asignatura(idAsignatura, nombre, curso, cuatrimestre, creditos, costebasico, idProfesor, idTitulacion)

values ('130114', 'Programación II', 2, 1, '9', 80, 'P101', '130110');

-- THIS WORKS TOO, BUT IT'S NOT VERY COMFORTABLE TO SPECIFY "OBJECTNAME DOT ATTRIBUTE", NOT ONLY COS THE NUMBER OF ATTRIBUTES CAN BE HIGH BUT ALSO THINK ABOUT USING ANOTHER OBJECT

insert into asignatura(idAsignatura, nombre, curso, cuatrimestre, creditos, costebasico, idProfesor, idTitulacion)

values (miAsignatura.idAsignatura, miAsignatura.nombre, miAsignatura.curso, miAsignatura.cuatrimestre, miAsignatura.créditos, miAsignatura.coste, miAsignatura.idProfesor, miAsignatura.idTitulación);*/

-- BUT THIS DOES NOT :(

insert into asignatura(idAsignatura, nombre, curso, cuatrimestre, creditos, costebasico, idProfesor, idTitulacion)

values (miAsignatura.*);

end;

/

--select * from asignatura where idtitulacion = '130110';

rollback;

请注意,对象字段的顺序和名称与表格中的顺序和名称不完全相同,例如AsignaturaObj.idTitulación(带重音)和asignatura.idTitulacion。

以下代码与@ Alex-Poole关于他自己的回答的评论有关,我的动机是使用FORALL。

declare

conjuntoAsignaturas tablaAsignatura := TablaAsignatura();

begin

conjuntoAsignaturas.extend(4);

conjuntoAsignaturas(1) := asignaturaObj('130114', 'Programación II', 2, 1, '9', 80, 'P101', '130110');

conjuntoAsignaturas(2) := asignaturaObj('222222', 'Teoría de Compiladores', 2, 1, '4,5', 120, 'Q000', '130110');

conjuntoAsignaturas(3) := asignaturaObj('222223', 'Pólipos', 2, 1, '3', 80, 'P101', '222222');

DECLARE

l_error_count NUMBER;

ex_dml_errors EXCEPTION;

PRAGMA EXCEPTION_INIT(ex_dml_errors, -24381);

BEGIN

forall i in 1 .. conjuntoAsignaturas.count SAVE EXCEPTIONS

insert into asignatura(idAsignatura, nombre, curso, cuatrimestre, creditos, costebasico, idProfesor, idTitulacion)

values (TREAT(conjuntoAsignaturas(i) AS AsignaturaObj).idAsignatura, TREAT(conjuntoAsignaturas(i) AS AsignaturaObj).nombre,

TREAT(conjuntoAsignaturas(i) AS AsignaturaObj).curso, TREAT(conjuntoAsignaturas(i) AS AsignaturaObj).cuatrimestre,

TREAT(conjuntoAsignaturas(i) AS AsignaturaObj).créditos, TREAT(conjuntoAsignaturas(i) AS AsignaturaObj).coste,

TREAT(conjuntoAsignaturas(i) AS AsignaturaObj).idProfesor, TREAT(conjuntoAsignaturas(i) AS AsignaturaObj).idTitulación);

EXCEPTION

WHEN ex_dml_errors THEN

l_error_count := SQL%BULK_EXCEPTIONS.count;

DBMS_OUTPUT.put_line('Número de errores: ' || l_error_count);

FOR i IN 1 .. l_error_count LOOP

DBMS_OUTPUT.put_line('Error: ' || i ||

' Índice de error: ' || SQL%BULK_EXCEPTIONS(i).error_index ||

' Mensaje: ' || SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));

END LOOP;

END;

end;

/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/557520.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java核心类库篇2——lang

Java核心类库篇2——lang 1、Object 该类是所有类的父类,每个类都使用它作为超类,没有任何属性 方法声明功能介绍Object()使用无参方式构造对象boolean equals(Object obj)用于判断调用对象是否与参数对象相等。 该方法默认比较两个对象的地址是否相等…

Java核心类库篇3——util

Java核心类库篇3——util 1、Date 用于描述特定的瞬间,也就是年月日时分秒,可以精确到毫秒 1.1、构造方法 方法声明功能介绍public Date()获取当前时间表示的date对象public Date(long date)根据给定的毫秒值创建date对象 public class Test {public…

linux怎么重装ssh服务器,Linux平台下安装SSH

什么是SSH?Secure Shell(缩写为SSH),由IETF的网络工作小组(Network Working Group)所制定;SSH为一项创建在应用层和传输层基础上的安全协议,为计算机上的Shell(壳层)提供安全的传输和使用环境。传统的网络服务程序,如r…

Java核心类库篇4——集合

Java核心类库篇4——集合 1、集合的意义 记录单个数据内容时,则声明一个变量记录多个类型相同的数据内容时,声明一个一维数组记录多个类型不同的数据内容时,则创建一个对象记录多个类型相同的对象数据时,创建一个对象数组记录多…

计划任务文件 linux,Linux之任务计划

一、单次任务计划二、周期性任务计划一、单次任务计划命令:batch:系统空闲时自动执行,不常用at:可以使用相对时间、绝对时间或模糊时间,例如相对时间:at now3min,表示3分钟后执行绝对时间&#…

Java核心类库篇5——异常

Java核心类库篇5——异常 java.lang.Throwable类是Java语言中错误(Error)和异常(Exception)的超类其中Error类主要用于描述Java虚拟机无法解决的严重错误,通常无法编码解决,如:JVM挂掉了 等其中Exception类主要用于描述因编程错误或偶然外在…

linux2019内核版本发布,求问Linux最新内核版本以及发布日期。

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼具有时效性的东西,百度能查处什么鬼来。mainline:4.3-rc32015-09-27[tar.xz][pgp][patch][view diff][browse]stable:4.2.22015-09-29[tar.xz][pgp][patch][inc. patch][view diff][browse][changelog]longterm:4.1.920…

Java核心类库篇6——IO

Java核心类库篇6——IO 1、File 1.1、构造方法 方法声明功能介绍public File(File parent, String child)从父抽象路径名和子路径名字符串创建新的 File实例public File(String pathname)通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例public File(String pa…

linux搭建web服务器原理,【LINUX】linux搭建web服务器

linux httpd假设服务器地址为192.168.80.20/241.将准备安装的httpd软件包共享给everyone,(1)在linux上mount.cifs //真机IP地址/共享文件夹名/media /ls /meidia/查看tar xjvf httpd-2.4.10.tar.bz2 -C /usr/src解压至/usr/src下下面两个插件是httpd2.4以…

Java核心类库篇7——多线程

Java核心类库篇7——多线程 1、程序、进程和线程 程序 - 数据结构 算法,主要指存放在硬盘上的可执行文件进程 - 主要指运行在内存中的可执行文件线程就是进程内部的程序流 操作系统内部支持多 进程的,而每个进程的内部又是支持多线程的 2、线程的创…

Java核心类库篇8——网络编程

Java核心类库篇8——网络编程 1、七层网络模型 OSI(Open System Interconnect),即开放式系统互联,是ISO(国际标准化组织)组织在1985 年研究的网络互连模型。 当发送数据时,需要对发送的内容按…

linux网站如何添加swf支持,linux下安装swftools和openOffice

1.openOffice下载地址:http://download.openoffice.org/all_rc.html#untested-full 下载 Linux 32-bit Intel rpm 包 版本自选 2.安装openOffice 1】 tar -zxvf OOo_3.2.1_Linux_x86_install-rpm-wJRE_zh-CN.tar.gz 2】 cd OOO320_m18_native_packed-1_zh-CN1.openO…

Java番外篇1——正则表达式

Java番外篇1——正则表达式 1、什么是正则表达式 正则表达式定义了字符串的模式正则表达式可以用来搜索、编辑或处理文本正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别 2、正则表达式规则 2.1、普通字符 普通字符包括没有显式指定为元字符的所…

linux 1号硬盘不能用,linux 挂载硬盘的疑问 : IDE1 上的接口无法使用.

状况说明:我将在linux系统上挂载多块硬盘(目前是redhat9).我通过3块硬盘试验.问题出现:无论如何链接 IDE1 上的硬盘, /dev/hdc 都无法 mount.数据:1. 使用 fdisk -l : 不会显示接到 IDE1 上的硬盘(目前只试验了在 IDE1 上接 1个硬盘,用 master 端口).2. 使用 fdisk /dev/hdc : …

Java番外篇2——jdk8新特性

Java番外篇2——jdk8新特性 1、Lambda 1.1、无参无返回值 public class Test {interface Print{void print();}public static void main(String[] args) { // Print printnew Print() { // Override // public void print() { // …

linux同花顺乱码,打开同花顺软件全是问号

官方答案:字体库字体乱码【原因分析】:系统字体缺失,损坏。【解决方案】方案一:使用360电脑门诊进行修复1.打开【360安全卫士】—【电脑专家】搜索乱码,然后会弹出如下六个解决方案,根据当前计算机的故障现…

Java番外篇3——线程池

Java番外篇3——线程池 1、多线程产生的问题 多次创建并销毁线程。而创建并销毁线程的过程势必会消耗内存 2、线程池 降低系统资源消耗,通过重用已存在的线程,降低线程创建和销毁造成的消耗提高系统响应速度,当有任务到达时,通…

嵌入式linux组件,嵌入式Linux系统的几大组件!

原标题:嵌入式Linux系统的几大组件!本文概述了Linux系统的几大组件,描述了这些组件之间的关系。文章解释了术语,并描述看似很基础的细节。每个Linux系统都有许多主要组件。其中一个组件(引导加载程序)从技术上讲是Linux之外的&…

linux iptables找不到,centos /etc/sysconfig/下找不到iptables文件解决方法

本想做些防火墙策略。防火墙策略都是写在/etc/sysconfig/iptables文件里面的。可我发现我也没有这个文件。[rootxiaohuai /]# cd /etc/sysconfig/[rootxiaohuai sysconfig]# lsatd firstboot irqbalance network-scripts rhn sysstatauditd grub kdump ntpd rngd sysstat.iocon…

Java番外篇4——BigInteger与BigDecimal

Java番外篇4——BigInteger与BigDecimal 为了解决大数运算的问题 操作整型:BigInteger操作小数:BigDecimal 1、BigInteger 方法声明功能介绍public BigInteger abs()返回大整数的绝对值public BigInteger add(BigInteger val)返回两个大整数的和publ…