Oracle
 sql >> база данни >  >> RDS >> Oracle

ALTER &DROP Table DDL с непосредствено изпълнение в базата данни на Oracle

ПРОМЕНИ И ИЗПУСКА 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 страница за по-интересни прозрения. Благодаря и приятен ден!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да реша ORA-28000 акаунтът е заключен

  2. Импортиране на файлове в Oracle Apex с помощта на wwv_flow_files

  3. Разлика между функция на таблица и конвейерна функция?

  4. Как да разделите низ в Oracle

  5. Усредняване на дати в oracle sql