DDL/DMLとPLSQLの違いがイマイチ分からない
解決したいこと
題記のとおり、DDLとPLSQLの違い(というよりPLSQLの必要性)がはっきりと分からないので質問させていただきました。
現状どんな理解で何が分からないのか以下に記載いたします。
ネットは調べてみましたが、どれもしっくりこなかったため、参考になりそうなサイトがありましたら、教えていただけると幸いです。
DDLの例(既存のHOGEテーブルにint型のABCカラムを追加する場合)
ALTER TABLE HOGE01 ADD(ABC INT);
いわゆる「DDLを流す」理解です。
ここでは既存のテーブルに対して新しくカラムを追加する方法を例にしています。
SQL操作ツール等を使ってこの一文を実行することで実際のDBにカラム追加できると理解しています。
PLSQL
create or replace function HOGE01(prIn in HOGE01%ROWTYPE)
return number
--中略--
--SQL文開始
insert
into HOGE01 H01
(
H01.AAAA
, H01.BBBB
, H01.CCCC
, H01.DDDD
)
実際のPLSQLはこのような記載になっているとします。
中略していますが、以下の理解で合っていますでしょうか・・?
①HOGE01テーブルに新しいレコードが追加される場合、初期処状態としてAAAA, BBBB, CCCC, DDDDを持ったレコードを追加してほしい。その場合このPLSQLの処理を実行するようにする!というオオモトのSQLファイル
②DDLは初期処理というより、新しくカラムを追加するなど”テーブルの状態を変更するためのSQL文”
⇒PLSQL側にDDLを同じ処理を書く必要がある?
かなり曖昧な書き方になってしまい恐縮ですが、ご教示よろしくお願いいたします。