উত্তর:
আপনার কাছে কেবল সিটিইর পরে একটি বিবৃতি থাকতে পারে। আপনি তবে আগের কোনওটির উপর ভিত্তি করে পরবর্তী সিটিই সংজ্ঞায়িত করতে পারেন:
WITH t1 AS (
SELECT a, b, c
FROM table1
)
, t2 AS (
SELECT b
FROM t1
WHERE a = 5
)
SELECT *
FROM t2;
আপনি যে সারিগুলি গণনা করার চেষ্টা করছেন এবং একই ফলাফল সেট থেকে রেফ কার্সারটি তৈরি করতে চেষ্টা করছেন তা নিচে নিম্নলিখিতগুলির একটি করা আরও উপযুক্ত হতে পারে:
অবশেষে, যদি ক্যোয়ারী যথেষ্ট সহজ হয় তবে এটি একবার গণনা এবং আবার কার্সারের জন্য লিখুন। সরলতা এবং পঠনযোগ্যতা এই ক্ষেত্রে DRY নীতি ট্রাম্প ।
না, একটি সিটিই বা with
ধারাটি একটি একক বিবরণের পরিধির মধ্যে সংজ্ঞায়িত করা হয়
কখনও কখনও আপনি একক বিবৃতি দিয়ে আশা করা থেকেও বেশি কিছু করতে পারেন যদিও, উদাহরণস্বরূপ:
with w as (select v from t3)
insert all into t1(v) values(v)
into t2(v) values(v)
select v from w;
অস্থায়ী ফলাফলের সেটগুলি সংরক্ষণ করার 'সাধারণ' ওরাকল উপায় (যদি আপনাকে করতে হয়) একটি জিটিটি:
GLOBAL TEMPORARY
টেবিল ব্যবহার করা ।