در این قسمت از آموزش برنامه نویسی اوراکل، بعد از آشنایی با پرکردن Collection با Elements قصد داریم آموزش ویرایش Elements یک Collections را یاد بگیریم.

استفاده از فانکشن ()TABLE برای خروجی گرفتن ونمایش مجموعه ای از رکوردها

در آموزش های قبلی در کوئری های گذشته ما محتوی یک collection را بصورت تک رکورد single row نمایش می دهیم و بعضی مواقع لازم است که می خواهید دیتای و داده های ذخیره شده در collection را به صورت مجموعه ای رکورد ها نمایش دهید و برای این موضوع از فانکشن ()TABLE استفاده می کنیم.

در این بخش یاد خواهیم گرفت که چطور با استفاده از فانکشن ()TABLE اطلاعات کالکشن های varray و nested table استفاده کنید.

استفاده از فانکشن ()TABLE با آرایه Varray

در ادامه آموزش ویرایش Elements یک Collections، با مثال شروع می کنیم و در کوئری زیر با استفاده از فانکشن ()TABLE اطلاعات ستون به نام addresses که آرایه varray در جدولی به نام customers_with_varray را به صورت زیر نمایش میدهد.

برنامه نویسی اوراکل

در این حالت زمانی که از این فانکشن استفاده کنید دیتایبس اوراکل در خروجی برای نمایش یک ستونی به نام COLUMN_VALUE ایجاد کرده رکوردهای خروجی را با این نام نمایش می دهد.

pseudo column ستون مجازی COLUMN_VALUE در واقع یک نام مستعار alias می باشد و داده های کالکشن را به صورت رکورد هایی با همان نام COLUMN_VALUE نمایش می دهد که این ستون نوع داده ای data types آن وابسته به خروجی کالکشن می تواند VARCHAR2 و CHAR و NUMBER یا DATE باشد.

همچنین شما میتوانید دستور SELECT داخلی را بصورت embed داخل فانکشن ()TABLE قرار دهید.

برنامه نویسی اوراکل

استفاده از فانکشن ()TABLE با آرایه Nested Table

با مثال شروع می کنیم و در کوئری زیر با استفاده از فانکشن ()TABLE اطلاعات ستون به نام addresses که آرایه Nested Table در جدولی به نام customers_with_nested_table را به صورت زیر نمایش میدهد.

برنامه نویسی اوراکل

در ادامه بخش ویرایش Elements یک Collections، شما یاد خواهید گرفت که به چه صورتی عناصر Elements در یک varray یا nested table را تغییر و ویرایش دهید و برای این موضوع باید تسلط کافی داشته باشید که با خیال راحت تمامی دستوران UPDATE و INSERT و DELETE را انجام دهید.

ویرایش Elements عناصر یک Varray

عناصر elements که در آرایه varray هستند را می توانید فقط به صورت کلی تغییر دهید به این معنی که اگر در آرایه varray فقط روی یکی از عناصر elements های آن تغییری ایجاد کنید باید روی همه عناصر آرایه تغییرات را اعمال کنید.

با یک مثال شروع کرده و برای انجام این کار از طریق دستور UPDATE روی جدول به نام customers_with_varray که یکی از ستون های آن از نوع آرایه varray به نام addresses می باشد را می توانید بروز کنید.

برنامه نویسی اوراکل

ویرایش Elements عناصر یک Nested Table

برخلاف آرایه varray ، عناصر elements که در آرایه nested table می باشد را می توانید بصورت جداگانه و تکی تکی ویرایش کنید. شما در آرایه nested table می توانید هر یک از عناصر elements را بصورت جداگانه insert و update و delete کنید. ما در مثال زیر هر که عملیات را به صورت مثال های جداگانه شرح خواهیم داد.

در مثال اول ما از طریق دستور INSERT رکوردی را به جدولی به نام customers_with_nested_table که ستونی به نام t_address که از نوع آرایه nested table می باشد درج می کنیم. توجه داشته باشید برای گرفتن و نمایش عناصر elements های آرایه از فانکشن ()TABLE استفاده کردیم.

برنامه نویسی اوراکل

در مثال دوم با استفاده از دستور UPDATE مقادیر ستون به نام address به مقدار ‘۱ High Street’ را به مقدار جدید ‘۹ Any Street’ تغییر می دهیم.

برنامه نویسی اوراکل

در مثال سوم با استفاده از دستور DELETE مقادیر ستون به نام address به مقدار ‘۳ New Street’ را حذف می کنیم.

برنامه نویسی اوراکل

اطلاعات بیشتر در مورد کالکشن