কড়া কথায় বলতে গেলে, "plpgsql স্ক্রিপ্ট" বলে কিছুই নেই - পিএল / পিজিএসকিউএল পোস্টগ্রাইএসকিউএল এর ডিফল্ট পদ্ধতিগত ভাষা। এটি হয় একটি এসকিউএল স্ক্রিপ্ট বা একটি plpgsql ফাংশন / পদ্ধতি। আপনার উদাহরণটি একটি এসকিউএল স্ক্রিপ্ট নির্দেশ করে বলে মনে হচ্ছে।
আপনি এর পরিবর্তে একটি (সার্ভার-সাইড) পিএলপজিএসকিএল (বা এসকিউএল) ফাংশন তৈরি করতে পারেন, এতে যে কোনও সংখ্যক আর্গুমেন্ট লাগে। ততক্ষণ ততক্ষণ ততক্ষণ তর্ক values
। যুক্তি শনাক্তকারীদের অন্তর্ভুক্ত করা হলে এটি কিছুটা জটিল হয়ে যায়। তারপরে আপনাকে গতিশীল এসকিউএল এবং পিএল / পিজিএসকিউএল ব্যবহার করতে হবে EXECUTE
।
পিএল / পিজিএসকিউএল পোস্টগ্রেএসকিউএল ৯.০ বা তার পরে পূর্বনির্ধারিত is পোস্টগ্রিস ৮.৩ এ আপনাকে একবার ডাটাবেস ইনস্টল করতে হবে, যদিও:
CREATE LANGUGAGE plpgsql;
সংস্করণটির কথা বলছি: আপনার পোস্টগ্র্রেএসকিউএল এর বর্তমান সংস্করণে আপগ্রেড করার বিষয়টি বিবেচনা করা উচিত । v8.3 এখনই খুব পুরানো, 2013 সালের শুরুর দিকে জীবনের শেষ মুহূর্তে।
যেহেতু আপনার কাছে প্রস্তুত এসকিউএল স্ক্রিপ্ট রয়েছে বলে মনে হচ্ছে আমি একটি এসকিউএল ফাংশন প্রদর্শন করব। দুটি পূর্ণসংখ্যার যুক্তি সহ সহজ ডামি ফাংশন:
CREATE OR REPLACE FUNCTION func(int, int)
LANGUAGE sql RETURNS void AS
$func$
UPDATE tbl1 SET col1 = $1 WHERE id = $2;
UPDATE tbl2 SET col1 = $1 WHERE id = $2;
$func$;
আপনি plpgsql এর জন্য আরও অনেক পরিশীলিত উদাহরণ খুঁজে পেতে পারেন এখানে ডিবিএএসই বা এসও তে ।
আপনি এই ফাংশনটি কল করতে পারেন এবং শেল স্ক্রিপ্টে প্যারামিটারগুলিতে হাত দিতে পারেন: শেল স্ক্রিপ্টে কল করার জন্য বেসিক উদাহরণ যা পূর্ণসংখ্যার পরামিতিগুলির জন্য ইনপুট পরামিতি ব্যবহার করে (প্রয়োজনীয় মানের কাছাকাছি কোনও একক-কোট নেই):
psql mydb -c "SELECT func($1, $2)"
অথবা যে কোনও ডাটা টাইপের সাথে:
psql mydb -c "SELECT func2('$1'::text, '$2'::numeric)"
-c
executes এক কমান্ড স্ট্রিং এবং তারপর প্রস্থান করে। ম্যানুয়ালটিতে পিএসকিএল-এর কমান্ড লাইন আর্গুমেন্ট সম্পর্কে আরও ।
-v
পিএসকিএল এর যুক্তি সন্ধান করছেন।