ПРОМЕНИ И ИЗПУСКА DDL таблица
Към момента научихме всички възможни начини за създаване на таблица точно в PL/SQL блок с помощта на Native Dynamic SQL. Можете да ги проверите в последните два урока, които са урок 82 и урок 83.
Благодаря, Dynamic SQL, че ни даде силата да изпълняваме DDL и DML изрази в нашия PL/SQL блок. Добре, успокойте се всички хора от каменната ера! Знам, че пакетът DBMS_SQL все още е там, но в сравнение с динамичния SQL го намирам за наистина сложен, да не говорим за бавната му производителност. Както и да е, така
Какво научаваме от този урок?
В този урок ще научим как да използваме ALTER &DROP таблица DDL с Изпълнение Immediate оператор на Native динамичен SQL. Това означава, че до края на този урок ще можете динамично да модифицирате и изтривате обект на база данни, като например таблица, направо чрез вашата PL/SQL програма.
Защо трябва да научим това?
Някои може да намерят темата за неуместна, но не по-скоро е много важна тема, особено от гледна точка на сертифицирането на Oracle и интервюто. Освен това, като разработчици, всички ние трябва да имаме ясни основите си, защото никога не знаете кога ще имате нужда от него.
И така, нека започнем урока, в случай че все още имате въпроси, не се колебайте да ги пишете на моя Facebook, тук. Нека първо се научим как да модифицираме таблица с помощта на ALTER TABLE с Execute Immediate на Dynamic SQL.
Как да променя динамично таблица?
За да модифицираме обект на база данни, като например таблица, използваме ALTER DDL в Oracle Database. Промяната на таблица с помощта на ALTER DDL през SQL е лесна в сравнение с PL/SQL.
PL/SQL не поддържа DDL, DML и DQL изрази директно. За да изпълним споменатите SQL оператори, трябва да използваме Dynamic SQL или пакет DBMS_SQL. Сред тези две, Native Dynamic SQL (NDS) е най-жизнеспособната опция поради своята простота и оптимизирана производителност. Можете да прочетете предимствата на NDS пред пакета DBMS_SQL тук.
И така, най-простият начин за динамично модифициране на обект на база данни като таблица е да използвате Alter Table DDL с израза Execute Immediate на Native Dynamic SQL.
Пример:Променете DDL на таблица с изявление за изпълнение на незабавно.
За демонстрация ще използваме същата таблица, която създадохме в последния урок. Там създадохме таблица с името tut_83, която имаше две колони tut_num от NUMBER тип данни и tut_name от тип данни varchar 2.
Ако тренирате с мен, тогава трябва да създадете тази таблица във вашата схема. Ако е така, тогава сте готови да отидете, в противен случай посетете последния урок и създайте тази таблица.
Сега да кажем, че искаме да добавим друга колона tut_date от тип данни за дата към тази таблица и това също с помощта на естествен динамичен SQL. За да направим това, трябва да използваме ALTER TABLE DDL с оператор Execute Immediate.
Стъпка 1:Подгответе DDL изявлението.
Най-добрата практика за писане на програма за динамичен SQL е предварително да подготвите своя SQL израз.
ALTER TABLE tut_83 ADD tut_date DATE
Ето ALTER TABLE DDL, който ще използваме за динамично изпълнение. Това изявление ще добави колоната tut_date от тип данни DATE към таблицата tut_83.
Можете също да гледате видеоурока за демонстрация на живо на концепцията.
Стъпка 2:Напишете програмата Native Dynamic SQL.
След като имате готов DDL оператор, сте готови да напишете PL/SQL блока.
SET SERVEROUTPUT ON; DECLARE ddl_qry VARCHAR2(50); BEGIN ddl_qry := 'ALTER TABLE tut_83 ADD tut_date DATE'; EXECUTE IMMEDIATE ddl_qry; END; /
При успешно изпълнение тази PL/SQL програма ще промени гореспоменатата таблица. Можете да проверите модифицираната структура на вашата таблица, като използвате командата DESCRIBE, като тази
DESCRIBE tut_83;
ИЛИ
DESC tut_83;
Това е всичко, което трябва да направите. Ето как модифицираме обект на база данни динамично, използвайки ALTER TABLE DDL с оператор Execute Immediate. Това също завършва първата част на урока, сега нека да преминем към втората и да научим как да изтриете таблица с помощта на естествен динамичен SQL.
Как да изтрия динамично таблица?
За да изтрием обект на база данни като таблица, ние използваме DROP DDL в Oracle Database. Както всеки друг DDL израз, този също не се поддържа директно от PL/SQL двигателя. И както обикновено, трябва да използваме Dynamic SQL, за да стартираме и този DDL. Нека видим как да изтриете таблица с помощта на Execute Immediate на Native Dynamic SQL.
Стъпка 1:Подгответе DDL изявлението.
DDL за изтриване на таблица е:
DROP TABLE tut_83
Този DDL ще изтрие таблицата tut_83 от схемата.
Стъпка 2:Напишете PL/SQL програмата за DROP таблица с Изпълнение незабавно.
SET SERVEROUTPUT ON; DECLARE ddl_qry VARCHAR2 (100); BEGIN ddl_qry := 'DROP TABLE tut_83'; EXECUTE IMMEDIATE ddl_qry; END; /
Така че успешното изпълнение на тази програма трябва да изпусне таблицата tut_83, която можете лесно да проверите, като използвате командата DESCRIBE, както е показано по-горе.
Това е урокът за това как да модифицирате и изтривате обект на база данни с помощта на Alter &Drop таблица DDL с Изпълнение на незабавно изявление на Native Dynamic SQL в Oracle Database. Надяваме се, че ви е било приятно да го прочетете и сте научили нещо ново. Моля, споделете този блог в социалните си медии с приятелите си. Можете също да се свържете с мен на моята Facebook страница за по-интересни прозрения. Благодаря и приятен ден!