آیا می توانیم از execute immediate برای دستور select استفاده کنیم؟
آیا می توانیم از execute immediate برای دستور select استفاده کنیم؟

تصویری: آیا می توانیم از execute immediate برای دستور select استفاده کنیم؟

تصویری: آیا می توانیم از execute immediate برای دستور select استفاده کنیم؟
تصویری: آموزش PL/SQL 81: اجرای فوری PL/SQL با عبارت INTO در پایگاه داده اوراکل 2024, آوریل
Anonim

برنامه می توانید از EXECUTE IMMEDIATE استفاده کنید . آنی اجرا شود الف را تعریف می کند انتخاب کنید حلقه برای پردازش ردیف های برگشتی. اگر انتخاب کنید فقط یک ردیف را برمی گرداند، لازم نیست استفاده کنید آ انتخاب کنید حلقه

از این رو، چگونه از اجرای فوری استفاده کنیم؟

شما می توانید یک آنی اجرا شود عبارت با RETURNING BULK COLLECT INTO در داخل یک عبارت FORALL. می‌توانید نتایج تمام عبارات INSERT، UPDATE، یا DELETE را در مجموعه‌ای از مجموعه‌ها ذخیره کنید. می توانید عناصر مجموعه مشترک را به آنی اجرا شود بیانیه از طریق استفاده كردن عبارت.

پس از آن، سوال این است که آیا پس از اجرای فوری به commit نیاز داریم؟ مرتکب شدن مورد نیاز نیست بعد از هر آنی اجرا شود . برخی اظهارات انجام دادن نه نیاز آ مرتکب شدن ; به عنوان مثال، اگر شما یک جدول را با TRUNCATE کوتاه کنید. همه کارهای غیرمتعهد در معامله جاری متعهد هستند یا برگشت - نه فقط بیانیه اجرا شده توسط آنی اجرا شود.

به این ترتیب، آیا می توانیم از execute immediate در تابع اوراکل استفاده کنیم؟

را آنی اجرا شود دستور یک دستور SQL پویا یا ناشناس را اجرا می کند PL/SQL مسدود کردن. شما می توانید استفاده کنید آن را برای صدور دستورات SQL که نمی توان به طور مستقیم در آن نشان داد PL/SQL ، یا برای ساخت عباراتی که در آن شما انجام می دهید از قبل نام تمام جدول ها، بندهای WHERE و غیره را نمی دانم.

چرا در اوراکل از execute immediate استفاده می کنیم؟

آنی اجرا شود را قادر می سازد اجرا یک دستور DML یا DDL که به عنوان یک رشته نگهداری می شود و فقط در زمان اجرا ارزیابی می شود. این به فرد امکان می دهد تا به صورت پویا عبارت را بر اساس منطق برنامه ایجاد کند. آنی اجرا شود همچنین تنها راهی است که می توانید اجرا کردن DDL در یک PL/SQL مسدود کردن.

توصیه شده: