PL/pgSQL চিটশিট
PL/pgSQL হলো PostgreSQL-এর একটি প্রসিডিউরাল প্রোগ্রামিং ভাষা, যা SQL-এর সাথে ফাংশন, ট্রিগার, এবং লজিক যোগ করতে ব্যবহৃত হয়। এই চিটশিটে PL/pgSQL-এর সব গুরুত্বপূর্ণ ধারণা ও সিনট্যাক্স বিস্তারিতভাবে কভার করা হয়েছে।
১. PL/pgSQL পরিচিতি
১.১ বৈশিষ্ট্য
- ভেরিয়েবল, লুপ, শর্ত।
- SQL কোয়েরির সাথে একীভূত।
- ফাংশন ও ট্রিগার তৈরি।
১.২ বেসিক স্ট্রাকচার
২. মৌলিক ধারণা
২.১ ভেরিয়েবল ডিক্লারেশন
- ডেটা টাইপ:
INTEGER
,TEXT
,VARCHAR
,BOOLEAN
,DATE
,NUMERIC
, ইত্যাদি। - রেকর্ড টাইপ:
RECORD
,%ROWTYPE
।
২.২ কনস্ট্যান্ট
৩. কন্ট্রোল স্ট্রাকচার
৩.১ শর্ত (IF)
- CASE:
৩.২ লুপ (Loops)
ধরন | বর্ণনা | উদাহরণ |
---|---|---|
FOR | নির্দিষ্ট রেঞ্জে। | FOR i IN 1..5 LOOP ... END LOOP; |
WHILE | শর্ত সত্য হলে। | WHILE x > 0 LOOP ... END LOOP; |
LOOP | অসীম লুপ (EXIT দিয়ে বের হতে হয়)। | LOOP ... EXIT WHEN ... END LOOP; |
উদাহরণ:
৪. ফাংশন
৪.১ ফাংশন তৈরি
- প্যারামিটার মোড:
IN
(ডিফল্ট),OUT
,INOUT
।
৪.২ ড্রপ ফাংশন
৫. ট্রিগার
৫.১ ট্রিগার ফাংশন
৫.২ ট্রিগার তৈরি
- ইভেন্ট:
INSERT
,UPDATE
,DELETE
। - টাইমিং:
BEFORE
,AFTER
।
৬. কার্সর
৭. এক্সেপশন হ্যান্ডলিং
- কমন এক্সেপশন:
division_by_zero
,unique_violation
,no_data_found
।
৮. ডায়নামিক SQL
- INTO দিয়ে:
৯. রেকর্ড এবং ROWTYPE
১০. লুপের সাথে SQL
১১. অ্যারে
১২. ট্রানজাকশন ম্যানেজমেন্ট
১৩. উদাহরণ: একটি সম্পূর্ণ ফাংশন
১৪. টিপস এবং ট্রিকস
- RAISE: ডিবাগিং-এর জন্য (
NOTICE
,INFO
,WARNING
,EXCEPTION
)। - PERFORM: ফলাফল সংরক্ষণ না করে SQL কোয়েরি চালানো।
- FOUND: শেষ কোয়েরির সফলতা চেক।