12:04
2024-12-10 13:02:57
51:24
2024-12-12 15:24:00
Visit the ORACLE PL/SQL Fundamentals course recordings page
WEBVTT
00:00:00.000 --> 00:00:10.120
Okay, let's start. Good morning everyone. Today is the last day of our training. Lahat po ba ay present?
00:00:10.800 --> 00:00:21.680
Good morning. So please brace yourself kasi puro coding tayo today which you love doing.
00:00:21.680 --> 00:00:30.900
So I prepared a lot of coding sa interactive natin and I present it nicely.
00:00:31.980 --> 00:00:34.700
So let's continue the discussion.
00:00:36.880 --> 00:00:47.700
Okay, awesome. So yesterday we test this function.
00:00:50.260 --> 00:01:01.320
So if we drop dependent function, so the impact of that is the other function that is dependent on it will be invalid.
00:01:01.320 --> 00:01:15.160
Okay, so for managing, finding the sub program, so to manage the complex database applications is crucial to understand the dependencies and hierarchy of the sub program.
00:01:15.600 --> 00:01:21.040
So using dependency queries helps identify how sub programs relate to each other.
00:01:21.040 --> 00:01:31.660
So for example, we can do this query if we want to find all the dependencies, for example in this function.
00:01:32.000 --> 00:01:41.020
So in this case, if we type this script, we will get the get length. It's a function. And get width is a function.
00:01:41.020 --> 00:01:49.440
So all these two is the sub programs of this main function, the calculate area.
00:01:51.520 --> 00:02:03.340
So bago, para bago mag delete, for example, you're intended to delete or drop the get width, you're aware na, oh, it's dependent on the calculate area.
00:02:03.340 --> 00:02:13.100
So the calculate area will not work or considered invalid since the get width function will be dropped or missing or deleted.
00:02:16.380 --> 00:02:23.520
So here's the example of a function when creating a package.
00:02:23.520 --> 00:02:36.080
Okay, so we're gonna try it in a bit. So it is straightforward. So it's just showing how we can debug a package.
00:02:36.940 --> 00:02:48.500
So a debug package is designed to streamline the debugging process by logging execution flow, parameter values, and intermediate result during the execution of PL SQL logic.
00:02:51.660 --> 00:03:00.500
So the advanced feature of advanced debugging features is using the sys timestamp.
00:03:01.160 --> 00:03:15.560
It's for precise logging with date and time. Also dynamic levels, adding conditional logging levels like debug or info or error to filter the messages.
00:03:15.560 --> 00:03:26.020
Then to log to table, so to extend the debug package to insert logs into a custom debug log table to persistent storage.
00:03:28.680 --> 00:03:35.880
Okay, so here's the example of logging a message per debug package.
00:03:36.880 --> 00:03:50.960
Then our expected is we will have a info here, process started, then the debug here, intermediate value calculated, error, division by zero, and counter.
00:03:52.440 --> 00:03:57.700
Then here it's calling the debug package or tracing the execution.
00:03:59.880 --> 00:04:06.540
So here the execution flow, the procedure start by logging the input value using the debug package.
00:04:07.380 --> 00:04:14.300
It checks whether the input is valid or non-negative. If invalid, it logs an error in exit.
00:04:15.200 --> 00:04:21.280
For valid input, it calculates the square root and logs the result.
00:04:21.280 --> 00:04:26.880
So the debug levels is the debug is used to trace the start of the computation.
00:04:27.760 --> 00:04:32.000
Then the error is logged when invalid input is encountered.
00:04:33.260 --> 00:04:35.900
Then the info is used to display the computation result.
00:04:36.680 --> 00:04:40.740
The benefits of that is first is enhanced debugging.
00:04:40.960 --> 00:04:50.000
So the debug package captures both normal execution flow and error condition making troubleshooting easier.
00:04:50.000 --> 00:04:58.120
Also clear logs using multiple debug levels like debug, info, error helps in identifying issues quickly.
00:04:58.620 --> 00:05:06.000
And also reusable logic so this structure can be extended to other subprograms for consistent debugging and error reporting.
00:05:08.560 --> 00:05:12.660
Best practices is doing that is handle edge case.
00:05:12.660 --> 00:05:17.480
Also ensure input validation and error handling cover all potential issues.
00:05:17.860 --> 00:05:21.420
Then integrate debugging with business logic.
00:05:21.860 --> 00:05:26.320
So use debug logs to capture intermediate state and critical calculation.
00:05:26.860 --> 00:05:30.220
Also toggle debugging so it introduce a mechanism.
00:05:30.560 --> 00:05:36.840
For example, in a package level variable to enable or disable debugging dynamic during runtime.
00:05:39.300 --> 00:05:43.320
So yeah, so positional and name notation.
00:05:44.840 --> 00:05:51.100
So positional notation is parameter are passed in the exact order they are defined in the subprogram.
00:05:51.960 --> 00:05:55.080
It's simple and concise for short parameter list.
00:05:56.620 --> 00:06:01.840
Name notation, it's parameter explicitly named when passed to the subprograms.
00:06:02.020 --> 00:06:10.660
It enhance readability especially for long parameter list or when some parameters have default value.
00:06:11.060 --> 00:06:15.920
Then mixed notation, it combines positional and name notation.
00:06:16.680 --> 00:06:23.860
So one of the restriction of that is name notation parameter must come after all positional parameters.
00:06:25.460 --> 00:06:30.000
So the benefits of the name notation is it improves clarity.
00:06:30.000 --> 00:06:34.460
Because it explicitly identify the purpose of each parameter.
00:06:35.200 --> 00:06:40.820
It's also reduce ambiguity particularly for subprograms with similar parameter types.
00:06:42.200 --> 00:06:47.500
It's also support default parameter so it enables keeping parameters with default value.
00:06:49.520 --> 00:06:54.000
So best practices, use name notation for long parameter list.
00:06:54.420 --> 00:06:57.540
Avoid mixed notation unless necessary.
00:06:57.540 --> 00:07:02.940
So if use ensure potential parameters can first to prevent syntax error.
00:07:03.860 --> 00:07:06.240
Then leverage default value.
00:07:06.500 --> 00:07:13.660
So use name notation to selective override default values without specifying all parameters.
00:07:16.520 --> 00:07:26.540
Okay, so here's the default values for parameters that allow subprograms procedure function to be extended without breaking existing calls.
00:07:26.540 --> 00:07:34.540
So if a parameter is not passed during invocation, the default value is used.
00:07:35.760 --> 00:07:38.760
So unlike this, we have an old call.
00:07:39.620 --> 00:07:41.900
We have one parameter here.
00:07:42.640 --> 00:07:44.800
So it's the order ID.
00:07:45.120 --> 00:07:54.280
So it still work even though we don't have the priority because it has a default value normal.
00:07:54.280 --> 00:08:02.300
So in the new call, we pass order ID and we pass priority.
00:08:02.700 --> 00:08:05.960
So the high will be used instead of the normal.
00:08:07.900 --> 00:08:09.860
So recompiling procedure and function.
00:08:10.240 --> 00:08:11.060
So why recompile?
00:08:11.160 --> 00:08:23.660
So dependency updates, changes to reference object like tables or views or others of program might invalidate dependent procedure or function.
00:08:23.660 --> 00:08:30.600
So make sure you recompile your subprograms, your main function.
00:08:31.080 --> 00:08:32.820
Ensure these dependencies are resolved.
00:08:33.500 --> 00:08:35.660
Then also you have to fix invalid subprograms.
00:08:36.420 --> 00:08:46.260
Kasi when a subprograms becomes invalid, recompilation attempts to restore it to valid state.
00:08:47.940 --> 00:08:54.020
So for example, in that case, query invalid objects.
00:08:54.300 --> 00:08:57.660
So user object tables query to identify valid objects.
00:08:58.060 --> 00:09:02.240
The status column filters object that need recompilation.
00:09:02.940 --> 00:09:04.120
So recompile objects.
00:09:04.860 --> 00:09:12.140
So the execute immediate statement dynamically generates and execute the alter compile statement.
00:09:12.140 --> 00:09:16.460
So both procedure and function can be recompile using this method.
00:09:17.260 --> 00:09:21.700
So object type, the query handle multiple object types like procedure, function, and package.
00:09:23.260 --> 00:09:29.440
So example output will be no visible output, meaning the block does not generate direct output.
00:09:30.140 --> 00:09:37.680
Or check object status, use the following query to verify the status of the object after recompilation.
00:09:38.680 --> 00:09:46.920
So best practices, test after the recompilation, track the changes, and use a specific recompilation.
00:09:47.460 --> 00:09:54.500
Recompilation procedure and functions ensure the integrity and stability of your PLSQL application,
00:09:54.760 --> 00:09:59.020
particularly after schema modification or dependency changes.
00:10:01.180 --> 00:10:03.520
So yeah, let's begin the exciting part.
00:10:03.520 --> 00:10:07.100
Let's dig more about on the triggers.
00:10:08.300 --> 00:10:09.480
So what are the triggers?
00:10:09.920 --> 00:10:15.600
Triggers are PLSQL block that execute automatically in response to specific database events.
00:10:16.420 --> 00:10:23.360
So events like can occur in insert, update, delete, operation on a table view, or timing.
00:10:23.440 --> 00:10:28.080
Triggers can run before, after, or instead of the event.
00:10:28.080 --> 00:10:38.080
So the key components are the trigger name, the timing, kung before ba siya, after, or instead of,
00:10:39.060 --> 00:10:44.240
then anong event, insert, update, delete, or combination of these.
00:10:44.640 --> 00:10:51.880
Then the scope, so for each row, execute the trigger of each affected row or in the row level.
00:10:52.240 --> 00:10:55.080
Then omit the clause for statement level triggers.
00:10:56.080 --> 00:10:58.600
So let's do the coding.
00:11:00.280 --> 00:11:03.520
Can you visit the PLSQL interactive coding?
00:11:04.880 --> 00:11:08.520
I prepare coding sample test cases there.
00:11:09.060 --> 00:11:14.300
So let's start with slide 338 please and try it in your computer.
00:11:14.420 --> 00:11:16.780
Just open the link. Let me know if you can open the link.
00:11:17.300 --> 00:11:23.440
I prepared it in Notion to make it more presentable and easy to read.
00:11:23.440 --> 00:11:28.120
So let's go for the slide 338 first.
00:11:28.700 --> 00:11:31.320
Let me know if you're able to open or not.
00:11:31.740 --> 00:11:32.440
Thank you.
00:11:35.640 --> 00:11:38.280
So let's jump into it. Let's start coding.
00:11:38.640 --> 00:11:40.960
Mas okay po ba yung document today?
00:11:44.580 --> 00:11:47.460
So I'll give you 5 to 10 minutes to try that.
00:11:47.600 --> 00:11:49.340
Also I prepared the test cases.
00:11:49.340 --> 00:11:53.740
Please let me know if we're good to proceed.
00:11:54.480 --> 00:11:56.820
Making sure yung EMP ID ayano.
00:11:57.360 --> 00:12:01.400
So nakita natin na-updated tapos nag-calculate din siya ng bonus.
00:12:01.680 --> 00:12:04.020
So meaning the trigger works.
00:12:09.360 --> 00:12:13.040
So best practices dyan is re-validate the data.
00:12:13.120 --> 00:12:15.440
Ensure that only meaningful changes.
00:12:15.940 --> 00:12:18.640
For example, actually salary updates are lagged.
00:12:18.640 --> 00:12:21.020
Also let's monitor the performance.
00:12:21.820 --> 00:12:26.280
Regularly clean up the employee audit table to avoid excessive growth.
00:12:27.440 --> 00:12:29.040
Then also add error handling.
00:12:29.520 --> 00:12:35.640
Incorporate troubles exception handling in case the employee audit table is unavailable or encountered as an error.
00:12:36.260 --> 00:12:38.420
Let me know if you want to proceed on the next coding.
00:12:39.520 --> 00:12:43.280
On each slide, I really prepare coding for you guys.
00:12:43.280 --> 00:12:46.720
I-check nyo rin yung table ako nagbabago ng data.
00:12:47.260 --> 00:12:48.400
What are the output.
00:12:49.740 --> 00:12:55.040
So make sure to check the employee's table or the audit table or the employee audit table.
00:12:55.460 --> 00:13:00.680
Let me know when it's okay to proceed to slide 339.
00:13:03.960 --> 00:13:05.400
Okay, last 5 minutes.
00:13:07.460 --> 00:13:09.700
Christine, patikin niya po ng lagged employee changes.
00:13:10.000 --> 00:13:10.340
Mana trigger.
00:13:10.380 --> 00:13:11.660
I'm looking at your screen right now.
00:13:11.660 --> 00:13:15.580
Okay, so nag-insert naman siya.
00:13:15.660 --> 00:13:17.320
Pero wala parang ano no?
00:13:18.320 --> 00:13:20.980
Nag-insert na ba siya din sa table mo na audit?
00:13:22.320 --> 00:13:23.320
Wala pa po.
00:13:25.100 --> 00:13:26.860
So meaning hindi nag-trigger, correct?
00:13:27.560 --> 00:13:28.520
Hindi nag-trigger.
00:13:28.760 --> 00:13:30.700
Kinukumit ni naman na after na-insert nga.
00:13:30.880 --> 00:13:32.460
Let's try to run that.
00:13:35.520 --> 00:13:36.360
Unique constraint.
00:13:36.900 --> 00:13:38.360
So let's try that.
00:13:39.340 --> 00:13:39.900
403.
00:13:39.900 --> 00:13:40.760
Yes.
00:13:41.280 --> 00:13:42.880
Okay, try to run with the commit.
00:13:43.940 --> 00:13:44.180
Run.
00:13:44.360 --> 00:13:45.780
Okay, so hi earner.
00:13:46.440 --> 00:13:47.120
Refresh.
00:13:48.060 --> 00:13:48.740
It's working.
00:13:48.940 --> 00:13:49.160
Yes, sir.
00:13:49.160 --> 00:13:49.620
One moment.
00:13:49.700 --> 00:13:51.400
Let me check the code.
00:13:53.900 --> 00:13:56.020
So lagged employee changes.
00:13:57.860 --> 00:14:02.480
Insert into EMP old salary, new salary.
00:14:02.480 --> 00:14:09.480
Can you try to add output doon sa trigger nyo?
00:14:10.620 --> 00:14:14.340
Lagyan natin ng DBMS output kung talagang nag-lag siya.
00:14:15.100 --> 00:14:18.520
Siguro hindi pa tayo kasi nag-create ng ano?
00:14:19.620 --> 00:14:20.820
Yung old salary.
00:14:21.820 --> 00:14:22.780
Wala po kami dun.
00:14:22.900 --> 00:14:23.820
Ah, yung column, sir.
00:14:23.920 --> 00:14:24.520
Wala po kami dun.
00:14:24.680 --> 00:14:25.240
Yeah.
00:14:25.460 --> 00:14:26.720
Mag-alter tayo ng ano?
00:14:27.020 --> 00:14:28.240
Let's create old salary.
00:14:28.700 --> 00:14:30.760
So it might not working because of that.
00:14:30.760 --> 00:14:33.760
Nagita tayo ng column na old salary.
00:14:35.060 --> 00:14:41.680
Also, let's add DBMS output put line after ng values.
00:14:42.660 --> 00:14:48.240
Yung sa begin insert into para makita natin na madetect natin na nag-update siya.
00:14:48.460 --> 00:14:51.040
Kasi ang nadetect nyo lang na trigger yung hi earner, no?
00:14:52.780 --> 00:14:55.300
Or kasi yung trigger na ginawa tin is after update.
00:14:55.400 --> 00:14:58.900
So pag nag-update lang, hindi naman pag nag-insert, after insert.
00:14:58.900 --> 00:15:00.980
So after update lang.
00:15:01.340 --> 00:15:02.900
So let's try to...
00:15:04.060 --> 00:15:07.760
Yeah, so matitrigger lang siya kung nag-update tayo.
00:15:07.880 --> 00:15:11.240
Hindi naman natin sinabi na after insert gawin niya ito.
00:15:11.740 --> 00:15:12.720
So try to update.
00:15:12.900 --> 00:15:16.320
Kanyari mag-update tayo ng any table dun sa employee.
00:15:16.660 --> 00:15:18.840
For example, let's update the salary.
00:15:19.240 --> 00:15:21.060
So let's use the test case.
00:15:21.140 --> 00:15:21.740
One moment.
00:15:23.700 --> 00:15:25.220
Alam ko may update ako dyan ginawa.
00:15:25.220 --> 00:15:26.660
Yun, yung test case one.
00:15:26.660 --> 00:15:28.660
Yung update employee set salary.
00:15:28.780 --> 00:15:29.540
So let's try that.
00:15:29.620 --> 00:15:31.980
Dun sa yung test case one, yung may update.
00:15:32.280 --> 00:15:34.340
Masa slides 338 pa rin po kayo, no?
00:15:35.380 --> 00:15:36.220
Ayun, nakita ko may...
00:15:36.900 --> 00:15:38.200
Meron na si ma'am Tin.
00:15:39.340 --> 00:15:40.940
Nag-try ko pa mag-update ma'am Tin.
00:15:41.160 --> 00:15:43.340
Tapos nag-blog po sa audit, employee audit.
00:15:43.460 --> 00:15:44.580
Tama po, no ma'am Christine?
00:15:44.920 --> 00:15:49.000
Try nyo po yung ibang mga use case na pinipar ko po dyan.
00:15:50.120 --> 00:15:50.760
Yes po.
00:15:51.180 --> 00:15:51.800
339 na po?
00:15:52.100 --> 00:15:53.600
Ano po? 339 na tayo?
00:15:53.780 --> 00:15:53.960
Sige.
00:15:54.960 --> 00:15:55.500
Let's go.
00:15:56.900 --> 00:15:58.960
So let's try 339 please.
00:16:00.260 --> 00:16:02.960
Timer na natin para hindi masyado marang oras.
00:16:03.900 --> 00:16:04.820
So 10 minutes.
00:16:05.220 --> 00:16:06.060
Timer start now.
00:16:06.360 --> 00:16:07.700
So 339 na po tayo.
00:16:08.100 --> 00:16:09.240
So statement triggers.
00:16:10.400 --> 00:16:11.780
So while you're doing that,
00:16:13.240 --> 00:16:14.340
so statement triggers,
00:16:14.820 --> 00:16:16.320
so it's a concept,
00:16:16.900 --> 00:16:18.600
the concept of statement triggers.
00:16:19.600 --> 00:16:24.640
It execute once for an entire DML operation.
00:16:24.880 --> 00:16:27.240
So regardless of how many rows are affected,
00:16:27.700 --> 00:16:29.880
this type of trigger is useful when
00:16:29.880 --> 00:16:32.380
we want to perform operation like logging
00:16:32.380 --> 00:16:35.420
or enforcing business rule at the statement level
00:16:35.420 --> 00:16:38.320
rather than the row level.
00:16:38.980 --> 00:16:42.960
So I prepared examples to you in slide 339
00:16:42.960 --> 00:16:44.280
statement triggers.
00:16:46.640 --> 00:16:48.880
So ang key point natin dyan is
00:16:48.880 --> 00:16:50.780
statement trigger execute only again
00:16:50.780 --> 00:16:52.640
once per DML operation,
00:16:53.000 --> 00:16:54.500
not for each row affected.
00:16:55.800 --> 00:16:57.700
So they are the ideal task
00:16:57.700 --> 00:16:59.120
for like plugging an action
00:16:59.120 --> 00:17:02.160
and enforcing database level rules.
00:17:02.580 --> 00:17:05.560
So 8 minutes to try the statement triggers
00:17:07.100 --> 00:17:09.160
since you already have the employee table
00:17:09.160 --> 00:17:09.980
and the audit table.
00:17:10.340 --> 00:17:12.240
So you'll just use that as trigger.
00:17:13.200 --> 00:17:14.020
Magka para.
00:17:14.160 --> 00:17:15.720
So it's 339 chat.
00:17:19.840 --> 00:17:22.220
Sige, let's move na sa 340.
00:17:22.420 --> 00:17:24.180
Gawan naman tayo ng set update time.
00:17:24.560 --> 00:17:26.360
So it's row level triggers.
00:17:26.540 --> 00:17:29.040
So create tayo ng trigger na set update time.
00:17:29.620 --> 00:17:32.160
Tapos ang timing natin is before update
00:17:32.160 --> 00:17:33.820
on employees.
00:17:34.400 --> 00:17:37.600
So row level trigger execute once for every row
00:17:37.600 --> 00:17:39.640
affected by the DML operation.
00:17:40.640 --> 00:17:43.700
This is in contrast to a statement trigger
00:17:43.700 --> 00:17:46.000
which execute only once per statement.
00:17:46.860 --> 00:17:49.640
To create a row level trigger,
00:17:49.820 --> 00:17:51.280
we use for each row.
00:17:51.780 --> 00:17:53.300
So these triggers are,
00:17:53.460 --> 00:17:56.380
let's start with that, 10 minutes.
00:17:57.080 --> 00:17:58.820
So use case natin dito is
00:17:58.820 --> 00:18:01.820
these triggers are particularly useful
00:18:01.820 --> 00:18:03.300
when we want to apply changes
00:18:03.300 --> 00:18:06.680
or validation to each row individually
00:18:06.680 --> 00:18:09.680
such as automatically updating timestamp,
00:18:11.260 --> 00:18:13.860
enforcing business rules at the row level,
00:18:14.640 --> 00:18:16.000
and logging detailed changes
00:18:16.000 --> 00:18:17.680
for each modified row.
00:18:20.980 --> 00:18:23.120
So step by step,
00:18:23.320 --> 00:18:25.000
so we define the trigger name,
00:18:25.160 --> 00:18:29.400
set update time in descriptive to its function.
00:18:30.180 --> 00:18:32.500
Then the timing trigger set to execute
00:18:32.500 --> 00:18:33.680
before update.
00:18:33.680 --> 00:18:35.360
This means it will run
00:18:35.360 --> 00:18:37.300
before the actual update operation
00:18:37.300 --> 00:18:40.140
is applied to the employees table.
00:18:41.120 --> 00:18:42.520
Then the row level clause,
00:18:42.800 --> 00:18:45.520
the for each row clause
00:18:45.520 --> 00:18:46.800
ensure that the trigger files
00:18:46.800 --> 00:18:48.840
for each row being updated.
00:18:50.480 --> 00:18:53.160
Sir, so meaning ang mangyayari po,
00:18:54.460 --> 00:18:55.680
si trigger muna talaga yung
00:18:55.680 --> 00:18:57.060
unang babasahin ng script
00:18:57.060 --> 00:18:58.260
before talaga niya i-run
00:18:58.260 --> 00:18:59.880
yung update statement sa ano?
00:18:59.880 --> 00:19:01.080
Correct, yes.
00:19:01.080 --> 00:19:03.380
Kasi yung timing natin is before update.
00:19:03.620 --> 00:19:07.960
Seven minutes for row level triggers.
00:19:14.100 --> 00:19:16.740
Mam Tin, natry mo na po yung ano?
00:19:17.800 --> 00:19:18.920
Yung 340.
00:19:19.060 --> 00:19:21.000
Sir Jerry, natry mo na po.
00:19:21.820 --> 00:19:23.080
Last six minutes
00:19:23.080 --> 00:19:26.880
for trying the row level triggers.
00:19:27.080 --> 00:19:28.840
Be sure to check the data
00:19:28.840 --> 00:19:30.100
kung nagbago,
00:19:30.180 --> 00:19:31.840
ano yung preview state nya.
00:19:33.940 --> 00:19:35.600
Last four minutes.
00:19:37.420 --> 00:19:39.320
Also try the test case four,
00:19:39.700 --> 00:19:41.440
which has invalid update
00:19:41.440 --> 00:19:44.040
to simulate and update triggers
00:19:44.040 --> 00:19:46.840
an error or constraint violation,
00:19:46.860 --> 00:19:47.500
for example.
00:19:47.760 --> 00:19:48.820
Last two minutes.
00:19:50.860 --> 00:19:53.720
Okay, for those who are done with 340,
00:19:54.140 --> 00:19:56.260
let's jump with 341.
00:19:57.240 --> 00:19:58.260
Okay na po.
00:19:58.380 --> 00:19:59.520
Yes, 341 na po.
00:19:59.760 --> 00:20:00.640
Yeah, 341.
00:20:00.680 --> 00:20:03.560
So I also include additional notes
00:20:03.560 --> 00:20:06.000
tapos I show expected result.
00:20:08.780 --> 00:20:09.260
So yung 341,
00:20:10.680 --> 00:20:12.940
it's pano na pag mag may when.
00:20:13.060 --> 00:20:15.800
So when close to restrict trigger execution
00:20:15.800 --> 00:20:18.060
to a specific condition.
00:20:19.500 --> 00:20:22.660
So imagine we want to log only specific changes
00:20:22.660 --> 00:20:25.720
such as when the employee's salary exceeds
00:20:25.720 --> 00:20:28.500
a certain threshold after an update.
00:20:28.720 --> 00:20:30.140
So instead of running the trigger
00:20:30.140 --> 00:20:32.540
for every update operation,
00:20:32.840 --> 00:20:34.000
we can use the when clause
00:20:34.000 --> 00:20:35.600
to limit its scope.
00:20:36.400 --> 00:20:38.840
So again, the when clause works
00:20:38.840 --> 00:20:40.780
with both statement level
00:20:40.780 --> 00:20:42.400
and row level triggers,
00:20:42.960 --> 00:20:46.220
but it's most useful with row level triggers
00:20:46.220 --> 00:20:48.480
where you can use colon new
00:20:48.480 --> 00:20:49.980
and colon old
00:20:49.980 --> 00:20:52.020
pseudo records in a condition.
00:20:52.020 --> 00:20:54.320
The colon new
00:20:55.440 --> 00:20:58.420
refers to the new value after the operation.
00:20:58.960 --> 00:20:59.940
The colon old
00:20:59.940 --> 00:21:02.200
refers to the original value
00:21:02.200 --> 00:21:03.360
before the operation.
00:21:04.160 --> 00:21:06.120
The when clause must reference
00:21:06.120 --> 00:21:07.760
valid expression and condition.
00:21:07.980 --> 00:21:09.680
So let's last seven minutes
00:21:09.680 --> 00:21:12.040
to test that
00:21:12.040 --> 00:21:14.620
with other test cases.
00:21:14.800 --> 00:21:17.040
Also don't forget to read my notes there
00:21:17.040 --> 00:21:19.000
to test effectively.
00:21:19.260 --> 00:21:20.140
Last three minutes.
00:21:20.140 --> 00:21:23.060
If you want to clear your audit table,
00:21:23.200 --> 00:21:25.220
you can truncate the table.
00:21:25.620 --> 00:21:27.640
Okay, so let's move on
00:21:27.640 --> 00:21:29.400
slide 342 please.
00:21:29.620 --> 00:21:31.840
The selective trigger using if.
00:21:36.920 --> 00:21:40.140
So yeah, let's talk about selective trigger
00:21:40.140 --> 00:21:41.400
while you do the coding
00:21:41.400 --> 00:21:43.680
and how we can use if condition
00:21:43.680 --> 00:21:44.800
inside the trigger bodies
00:21:44.800 --> 00:21:47.620
to handle complex logic.
00:21:47.620 --> 00:21:49.740
So sometimes we need
00:21:49.740 --> 00:21:51.120
more flexibility
00:21:51.620 --> 00:21:53.880
with a simple when clause offers.
00:21:54.300 --> 00:21:55.620
This is where this if statement
00:21:56.840 --> 00:21:57.960
comes in handy
00:21:57.960 --> 00:22:00.040
within the body of the trigger.
00:22:01.200 --> 00:22:01.920
So imagine
00:22:01.920 --> 00:22:03.320
we have a company policy
00:22:03.320 --> 00:22:05.560
that prevents deleting the HR department
00:22:05.560 --> 00:22:08.000
while other departments can be deleted.
00:22:08.580 --> 00:22:09.700
The HR department must
00:22:09.700 --> 00:22:10.560
remain intact.
00:22:11.000 --> 00:22:13.460
We can enforce this rule using a trigger
00:22:13.460 --> 00:22:14.860
with an if condition.
00:22:15.640 --> 00:22:17.200
So let's break it down.
00:22:17.220 --> 00:22:18.880
So we have the trigger name
00:22:18.880 --> 00:22:20.620
prevent, depth, delete
00:22:20.620 --> 00:22:22.960
that indicate the purpose of the trigger.
00:22:23.560 --> 00:22:24.720
Then we have the timing.
00:22:25.180 --> 00:22:26.720
So the timing natin dito is
00:22:26.720 --> 00:22:29.120
to execute the before delete.
00:22:29.720 --> 00:22:30.560
This means
00:22:30.560 --> 00:22:32.940
it runs before
00:22:32.940 --> 00:22:35.180
any delete operation on the department's
00:22:35.180 --> 00:22:35.460
table.
00:22:36.840 --> 00:22:38.800
Then it is our row level
00:22:38.800 --> 00:22:41.220
trigger. So we use the for each row clause
00:22:41.220 --> 00:22:42.620
ensure that the trigger execute
00:22:42.620 --> 00:22:44.880
before each row being deleted.
00:22:45.420 --> 00:22:46.520
So our condition
00:22:46.520 --> 00:22:48.320
inside the trigger body is
00:22:48.320 --> 00:22:50.560
if the statement
00:22:50.560 --> 00:22:52.940
checks if the value of all department
00:22:52.940 --> 00:22:54.780
name or depth name
00:22:54.780 --> 00:22:55.660
is HR.
00:22:56.520 --> 00:22:58.520
So our action if the condition is true
00:22:58.520 --> 00:23:00.480
so we raise an application error
00:23:00.480 --> 00:23:02.300
is invoked. So
00:23:02.300 --> 00:23:04.240
an error code of
00:23:04.240 --> 00:23:06.940
negative 2001
00:23:06.940 --> 00:23:08.680
and an error message cannot
00:23:08.680 --> 00:23:09.980
delete HR department.
00:23:09.980 --> 00:23:12.420
So if the condition
00:23:12.420 --> 00:23:14.020
is met, the delete operation
00:23:14.020 --> 00:23:16.300
is prevented and the error message is played.
00:23:17.220 --> 00:23:18.360
So yeah, I
00:23:18.360 --> 00:23:19.660
prepared test cases.
00:23:20.580 --> 00:23:21.800
Please try it.
00:23:23.900 --> 00:23:24.120
So
00:23:24.120 --> 00:23:26.360
8 minutes more to try it.
00:23:26.640 --> 00:23:28.220
Then we will have a short break.
00:23:28.560 --> 00:23:30.140
Readable naman po yung document no?
00:23:30.480 --> 00:23:32.360
It organize much nicely po.
00:23:34.700 --> 00:23:36.140
So last 7 minutes
00:23:36.140 --> 00:23:38.120
to test it. Then we will have a short
00:23:39.720 --> 00:23:41.080
Sir Joseph, try mo nga po
00:23:41.080 --> 00:23:44.320
compile ulit yung trigger mo po.
00:23:45.560 --> 00:23:46.120
Sir Joseph
00:23:46.800 --> 00:23:48.440
na compile na siya.
00:23:52.600 --> 00:23:54.300
Na-delete yung HR mo
00:23:54.300 --> 00:23:56.100
Sir Joseph. Or may HR ka ba
00:23:56.100 --> 00:23:57.300
dati?
00:23:58.060 --> 00:23:59.260
Check mo yung
00:23:59.260 --> 00:24:02.040
check mo yung
00:24:02.040 --> 00:24:03.420
kunaka before
00:24:04.120 --> 00:24:04.400
update
00:24:06.260 --> 00:24:06.860
before
00:24:06.860 --> 00:24:08.180
delete sorry before
00:24:08.180 --> 00:24:09.800
delete on department for each row
00:24:09.800 --> 00:24:11.360
if all department name.
00:24:11.920 --> 00:24:13.800
Tos mag-add ka ulit ng HR.
00:24:14.020 --> 00:24:15.780
Try natin ulit.
00:24:18.240 --> 00:24:20.380
You change it to department
00:24:20.380 --> 00:24:21.240
space name.
00:24:23.900 --> 00:24:26.480
Last 2 minutes, we will have our break.
00:24:28.800 --> 00:24:29.840
We will resume at
00:24:30.400 --> 00:24:31.820
10-20 a.m.
00:24:31.820 --> 00:24:34.140
So we will have a 20-minute break.
00:24:35.420 --> 00:24:38.160
Sir sorry, nilalaro ko po yung phone ko.
00:24:38.520 --> 00:24:39.600
Sino po ang nagsasalita?
00:24:39.640 --> 00:24:40.560
Si Miguel Pardus?
00:24:40.580 --> 00:24:43.160
Si Miguel po. Yes po, Sir Miguel.
00:24:43.640 --> 00:24:44.120
Game.
00:24:45.760 --> 00:24:47.480
Yung HR po, diba
00:24:47.480 --> 00:24:48.740
igual siya originally?
00:24:49.740 --> 00:24:50.280
Yes.
00:24:53.200 --> 00:24:53.800
So dapat
00:24:53.800 --> 00:24:55.620
pag nagburuh ako ng
00:24:55.620 --> 00:24:57.840
pag binuro ko na si HR
00:24:57.840 --> 00:24:59.520
dun sa table
00:24:59.520 --> 00:25:01.500
kapuburahan na dapat siya to.
00:25:01.640 --> 00:25:02.300
Tama po diba?
00:25:03.240 --> 00:25:05.380
Oo tama kasi not equal eh.
00:25:05.580 --> 00:25:07.520
So ibig sabihin kung HR siya
00:25:09.360 --> 00:25:11.340
Nag try ako, hindi pa rin siya
00:25:13.100 --> 00:25:13.660
nabuburahan.
00:25:13.960 --> 00:25:15.120
Yung HR?
00:25:15.960 --> 00:25:16.520
Apo.
00:25:19.840 --> 00:25:21.520
Nerecompile mo naman yung trigger no?
00:25:21.740 --> 00:25:22.440
Yes po.
00:25:22.660 --> 00:25:24.200
Sir try ko na ko yung delete.
00:25:25.880 --> 00:25:27.540
Nakatingin ako sa monitor mo po.
00:25:30.820 --> 00:25:31.300
Successful.
00:25:31.400 --> 00:25:32.820
Ayun sir, nandun pa din.
00:25:34.500 --> 00:25:35.420
So expected mo dat
00:25:35.420 --> 00:25:36.740
madilit na siya, tama.
00:25:37.020 --> 00:25:39.460
Kasi not equal yung nerecompile mo na ano?
00:25:40.240 --> 00:25:40.480
Apo.
00:25:40.880 --> 00:25:42.760
So dapat mawala siya.
00:25:44.960 --> 00:25:46.360
Patingin niya po ulit ng code mo.
00:25:46.640 --> 00:25:47.360
One moment.
00:25:48.560 --> 00:25:49.520
Sige, i-check ko lang.
00:25:49.880 --> 00:25:51.340
Tapos balikan kita.
00:25:52.100 --> 00:25:53.360
Department underscore name yung
00:25:53.360 --> 00:25:55.200
ano mo no? Patingin niya ulit ng table mo.
00:25:56.000 --> 00:25:57.860
I mean yung table mo na
00:25:57.860 --> 00:25:58.420
Department.
00:25:58.700 --> 00:26:01.860
So department name.
00:26:03.580 --> 00:26:05.460
Pwede ka magligay sir Joseph
00:26:05.460 --> 00:26:05.860
ng
00:26:10.900 --> 00:26:12.100
Pwede ka magligay
00:26:12.100 --> 00:26:13.120
ng else.
00:26:14.340 --> 00:26:15.060
Tapos
00:26:15.860 --> 00:26:17.560
mag erase tayo ng application error.
00:26:17.800 --> 00:26:19.560
Pero this time, for example
00:26:20.560 --> 00:26:21.280
2002
00:26:22.400 --> 00:26:23.120
HR
00:26:23.860 --> 00:26:25.060
about to delete. Parang ganun.
00:26:25.060 --> 00:26:26.260
Para makita natin na
00:26:26.260 --> 00:26:28.980
hindi nga siya pumasok dun sa condition na yan.
00:26:43.820 --> 00:26:44.880
Tapos instead
00:26:47.460 --> 00:26:48.120
of
00:26:48.120 --> 00:26:49.780
less than greater than
00:26:49.780 --> 00:26:50.720
pwede mong itray yung
00:26:50.720 --> 00:26:53.200
exclamation point equal
00:26:53.200 --> 00:26:54.540
or not equal.
00:26:54.780 --> 00:26:56.140
Sino po yung nagsalita?
00:26:57.200 --> 00:26:57.380
Okay.
00:26:59.120 --> 00:27:01.200
Okay, let's recompile.
00:27:02.760 --> 00:27:03.000
Okay.
00:27:03.040 --> 00:27:04.820
Nag-error siya. Ano yung binata niya?
00:27:05.240 --> 00:27:07.040
Nag-successful pa rin?
00:27:07.280 --> 00:27:09.900
Nag-successful pa rin sir.
00:27:10.700 --> 00:27:11.000
Nag sabihan
00:27:11.000 --> 00:27:12.740
di siya nagt-trigger. Wala
00:27:12.740 --> 00:27:13.740
binabalik eh.
00:27:15.400 --> 00:27:15.740
Okay.
00:27:16.200 --> 00:27:17.280
Nag-error
00:27:19.060 --> 00:27:20.860
May else na tayo no?
00:27:20.860 --> 00:27:22.620
Okay sir.
00:27:23.800 --> 00:27:25.380
Tapos hindi rin siya
00:27:25.380 --> 00:27:26.720
nag
00:27:30.780 --> 00:27:33.140
begin exception.
00:27:54.060 --> 00:27:56.080
Sino po ito?
00:27:57.540 --> 00:27:58.300
Adrian.
00:28:03.200 --> 00:28:04.720
Patingin po.
00:28:06.080 --> 00:28:07.520
Patingin nung
00:28:09.180 --> 00:28:10.740
trigger mo po.
00:28:11.600 --> 00:28:11.960
Prevent,
00:28:12.060 --> 00:28:14.940
delete, department name,
00:28:15.220 --> 00:28:17.200
erase, application error.
00:28:17.960 --> 00:28:18.880
Sir, chat ko po yung
00:28:18.880 --> 00:28:20.740
code ko dun sa chat
00:28:20.740 --> 00:28:20.840
makikita.
00:28:22.380 --> 00:28:23.560
Sige po.
00:28:23.760 --> 00:28:25.520
Chat ko dun po.
00:28:26.580 --> 00:28:27.820
Patingin nga nung table mo
00:28:27.820 --> 00:28:29.640
sir. Depth name ba ginamit mo
00:28:29.640 --> 00:28:31.740
or department name? Dun po sa department
00:28:31.740 --> 00:28:32.540
table.
00:28:33.660 --> 00:28:34.200
Sir Adrian.
00:28:36.160 --> 00:28:37.460
Department underscore name.
00:28:37.900 --> 00:28:39.540
Okay. Patingin nga po ako nung table sir.
00:28:39.760 --> 00:28:41.460
Department underscore name.
00:28:41.700 --> 00:28:43.180
Okay yung HR yung one.
00:28:44.700 --> 00:28:45.560
Okay. Sige.
00:28:45.880 --> 00:28:47.860
So i-recompile natin yung ano?
00:28:48.860 --> 00:28:50.800
Okay. Try to delete.
00:28:51.280 --> 00:28:52.920
Patingin nang departments.
00:28:53.620 --> 00:28:54.960
Ayun. Cannot.
00:28:55.320 --> 00:28:56.860
Naggray siya ng error pero
00:28:56.860 --> 00:28:58.320
dinilit niya pa diyan. Tama?
00:28:59.940 --> 00:29:01.340
Patingin nga po nung department.
00:29:01.500 --> 00:29:03.200
Okay. Patingin nga po alit nang
00:29:03.200 --> 00:29:04.720
trigger. Yung trigger statement.
00:29:05.380 --> 00:29:06.860
So creator replace
00:29:07.640 --> 00:29:08.980
trigger prevent
00:29:08.980 --> 00:29:10.840
delete before
00:29:10.840 --> 00:29:12.840
delete on department for
00:29:12.840 --> 00:29:13.500
each row.
00:29:14.880 --> 00:29:17.000
Try mo nga po. Dun sa end mo
00:29:17.000 --> 00:29:18.120
alisin mo na yung
00:29:19.000 --> 00:29:21.500
prevent delete
00:29:21.500 --> 00:29:22.960
follow all the
00:29:22.960 --> 00:29:24.440
names.
00:29:25.000 --> 00:29:27.000
Check ko lang sir ah.
00:29:41.000 --> 00:29:41.640
Alright.
00:29:42.520 --> 00:29:45.760
For each row.
00:29:45.760 --> 00:29:47.760
Patingin nga po alit sir
00:29:49.780 --> 00:29:50.480
sir Adrian.
00:29:51.500 --> 00:29:51.860
Adrian.
00:29:52.180 --> 00:29:53.560
So create or replace
00:29:53.560 --> 00:29:55.100
for each row.
00:29:57.540 --> 00:29:58.640
So we begin
00:29:58.640 --> 00:30:00.880
then we end
00:30:00.880 --> 00:30:01.920
call our
00:30:01.920 --> 00:30:04.020
department name.
00:30:06.440 --> 00:30:08.100
Naggray siya ng error pero dinilit niya
00:30:08.100 --> 00:30:09.300
pare no?
00:30:10.520 --> 00:30:11.800
Yung before mo. Try mo nga po
00:30:11.800 --> 00:30:14.040
ano? All caps yung before.
00:30:14.040 --> 00:30:16.060
Try lang natin. Tapos tama naman
00:30:16.060 --> 00:30:17.220
yung ano?
00:30:17.900 --> 00:30:20.300
prevent hr
00:30:20.300 --> 00:30:21.680
okay
00:30:21.680 --> 00:30:22.640
insert
00:30:24.620 --> 00:30:25.980
patingin nga natin yung
00:30:25.980 --> 00:30:27.040
departments.
00:30:27.960 --> 00:30:30.420
Check mo natin table kung may laman
00:30:30.420 --> 00:30:31.880
na hr.
00:30:33.140 --> 00:30:33.900
Okay.
00:30:35.800 --> 00:30:36.240
Wait wait
00:30:36.240 --> 00:30:38.040
so unexpected
00:30:39.680 --> 00:30:40.440
unexpected error
00:30:40.440 --> 00:30:41.640
occurred. So
00:30:41.640 --> 00:30:43.480
naggray siya ng error
00:30:43.480 --> 00:30:45.640
pero dinilit niya.
00:30:47.260 --> 00:30:47.800
Patingin nga po alit
00:30:47.800 --> 00:30:48.620
ng table.
00:30:50.260 --> 00:30:51.100
Okay.
00:30:51.420 --> 00:30:52.160
Sige.
00:30:52.980 --> 00:30:53.880
Ganito na lang.
00:30:55.240 --> 00:30:57.720
So let's have a break.
00:30:59.020 --> 00:30:59.380
So let's
00:30:59.380 --> 00:31:00.960
return 1030.
00:31:01.060 --> 00:31:03.260
Then I'll try to replicate
00:31:03.260 --> 00:31:04.600
the error. The issue.
00:31:04.940 --> 00:31:05.280
Okay?
00:31:06.740 --> 00:31:08.000
Yes po.
00:31:08.860 --> 00:31:09.660
Oh no
00:31:12.060 --> 00:31:12.660
1020
00:31:12.660 --> 00:31:13.380
tama ba?
00:31:13.620 --> 00:31:16.380
15 minutes. Yeah. Okay.
00:31:16.620 --> 00:31:18.360
Mga 1040 na.
00:31:18.620 --> 00:31:19.000
Okay lang.
00:31:20.140 --> 00:31:20.400
Yeah.
00:31:57.120 --> 00:31:57.180
Okay.
00:32:07.380 --> 00:32:07.440
so
00:32:07.440 --> 00:32:07.460
so
00:32:07.460 --> 00:32:07.480
so
00:32:07.480 --> 00:32:07.500
so
00:32:07.500 --> 00:32:07.540
so
00:32:07.540 --> 00:32:09.500
so
00:32:15.980 --> 00:32:17.380
so
00:32:25.040 --> 00:32:26.440
so
00:32:28.040 --> 00:32:29.440
so
00:32:35.640 --> 00:32:37.040
so
00:32:37.040 --> 00:32:37.060
so
00:32:37.060 --> 00:32:37.080
so
00:32:37.080 --> 00:32:37.520
so
00:35:10.940 --> 00:35:12.500
Ano ba?
00:35:36.080 --> 00:35:37.480
Ano ba?
00:36:06.600 --> 00:36:07.020
Ano ba?
00:36:36.220 --> 00:36:36.480
Ano ba?
00:36:36.480 --> 00:36:36.560
Ano ba?
00:37:05.680 --> 00:37:06.100
Ano ba?
00:37:35.220 --> 00:37:35.640
Ano ba?
00:38:04.840 --> 00:38:05.100
Ano ba?
00:38:05.100 --> 00:38:05.180
Ano ba?
00:38:34.380 --> 00:38:34.640
Ano ba?
00:38:34.640 --> 00:38:34.720
Ano ba?
00:39:03.920 --> 00:39:04.180
Ano ba?
00:39:04.180 --> 00:39:04.260
Ano ba?
00:39:33.460 --> 00:39:33.720
Ano ba?
00:39:33.720 --> 00:39:33.800
Ano ba?
00:40:03.000 --> 00:40:03.260
Ano ba?
00:40:03.260 --> 00:40:03.340
Ano ba?
00:40:32.540 --> 00:40:32.800
Ano ba?
00:40:32.800 --> 00:40:32.880
Ano ba?
00:41:02.080 --> 00:41:02.340
Ano ba?
00:41:02.340 --> 00:41:02.420
Ano ba?
00:41:31.620 --> 00:41:31.880
Ano ba?
00:41:31.880 --> 00:41:31.960
Ano ba?
00:42:01.160 --> 00:42:01.420
Ano ba?
00:42:01.420 --> 00:42:01.500
Ano ba?
00:42:30.700 --> 00:42:30.960
Ano ba?
00:42:30.960 --> 00:42:31.040
Ano ba?
00:43:00.240 --> 00:43:00.500
Ano ba?
00:43:00.500 --> 00:43:00.580
Ano ba?
00:43:29.780 --> 00:43:30.040
Ano ba?
00:43:30.040 --> 00:43:30.120
Ano ba?
00:43:59.320 --> 00:43:59.580
Ano ba?
00:43:59.580 --> 00:43:59.660
Ano ba?
00:44:28.860 --> 00:44:29.120
Ano ba?
00:44:29.120 --> 00:44:29.200
Ano ba?
00:44:58.400 --> 00:44:58.660
Ano ba?
00:44:58.660 --> 00:44:58.740
Ano ba?
00:45:27.940 --> 00:45:28.200
Ano ba?
00:45:28.200 --> 00:45:28.280
Ano ba?
00:45:57.480 --> 00:45:57.740
Ano ba?
00:45:57.740 --> 00:45:57.820
Ano ba?
00:46:27.020 --> 00:46:27.280
Ano ba?
00:46:27.280 --> 00:46:27.360
Ano ba?
00:46:56.560 --> 00:46:56.820
Ano ba?
00:46:56.820 --> 00:46:56.900
Ano ba?
00:47:26.100 --> 00:47:26.360
Ano ba?
00:47:26.360 --> 00:47:26.440
Ano ba?
00:47:55.640 --> 00:47:55.900
Ano ba?
00:47:55.900 --> 00:47:55.980
Ano ba?
00:48:25.180 --> 00:48:25.440
Ano ba?
00:48:25.440 --> 00:48:25.520
Ano ba?
00:48:54.720 --> 00:48:54.980
Ano ba?
00:48:54.980 --> 00:48:55.060
Ano ba?
00:49:24.260 --> 00:49:24.520
Ano ba?
00:49:24.520 --> 00:49:24.600
Ano ba?
00:49:53.800 --> 00:49:54.060
Ano ba?
00:49:54.060 --> 00:49:54.140
Ano ba?
00:50:23.340 --> 00:50:23.600
Ano ba?
00:50:23.600 --> 00:50:23.680
Ano ba?
00:50:27.380 --> 00:50:28.940
Ano ba?
00:50:37.840 --> 00:50:39.500
Ano ba?
00:50:39.880 --> 00:50:41.180
Ano ba?
00:50:45.960 --> 00:50:47.800
Ano ba?
00:50:52.020 --> 00:50:53.440
Ano ba?
00:51:05.260 --> 00:51:06.660
Ano ba?
00:51:15.880 --> 00:51:18.680
Ano ba?
00:51:23.440 --> 00:51:23.600
Ano ba?
00:51:30.780 --> 00:51:32.180
Ano ba?
00:51:36.280 --> 00:51:37.680
Ano ba?
00:51:43.000 --> 00:51:44.400
Ano ba?
00:51:46.400 --> 00:51:48.760
Ano ba?
00:51:48.760 --> 00:51:49.800
Ano ba?
00:51:54.600 --> 00:51:56.020
Ano ba?
00:51:58.760 --> 00:51:58.920
Ano ba?
00:51:59.180 --> 00:52:00.580
Ano ba?
00:52:00.580 --> 00:52:01.920
Ano ba?
00:52:14.560 --> 00:52:15.200
Ano ba?
00:52:15.220 --> 00:52:15.280
Ano ba?
00:52:44.620 --> 00:52:45.060
Ano ba?
00:52:45.060 --> 00:52:45.240
Ano ba?
00:52:45.240 --> 00:52:45.480
Ano ba?
00:53:03.900 --> 00:53:04.300
Ano ba?
00:53:08.160 --> 00:53:08.380
Ano ba?
00:53:08.400 --> 00:53:08.460
Ano ba?
00:53:08.480 --> 00:53:08.780
Ano ba?
00:53:08.800 --> 00:53:09.700
Ano ba?
00:53:30.080 --> 00:53:30.160
Ano ba?
00:53:30.180 --> 00:53:30.240
Ano ba?
00:53:30.260 --> 00:53:30.340
Ano ba?
00:53:33.320 --> 00:53:33.400
Ano ba?
00:53:33.420 --> 00:53:33.720
Ano ba?
00:53:48.880 --> 00:53:50.280
Ano ba?
00:53:50.480 --> 00:53:50.880
Ano ba?
00:53:52.080 --> 00:53:53.480
Ano ba?
00:54:02.300 --> 00:54:03.700
Ano ba?
00:54:03.700 --> 00:54:03.880
Ano ba?
00:54:04.040 --> 00:54:04.680
Ano ba?
00:54:06.540 --> 00:54:07.560
Ano ba?
00:54:13.620 --> 00:54:14.540
Ano ba?
00:54:23.700 --> 00:54:23.880
Ano ba?
00:54:32.580 --> 00:54:33.160
Ano ba?
00:54:35.760 --> 00:54:37.160
Ano ba?
00:54:37.660 --> 00:54:38.880
Ano ba?
00:54:48.980 --> 00:54:50.380
Ano ba?
00:55:08.020 --> 00:55:09.420
Ano ba?
00:55:09.420 --> 00:55:09.440
Ano ba?
00:55:31.780 --> 00:55:32.440
Ano ba?
00:55:32.520 --> 00:55:32.900
Ano ba?
00:55:33.420 --> 00:55:33.860
Ano ba?
00:55:33.860 --> 00:55:34.060
Ano ba?
00:55:38.620 --> 00:55:39.280
Ano ba?
00:55:43.760 --> 00:55:46.560
Ano ba?
00:55:51.400 --> 00:55:52.800
Ano ba?
00:55:52.800 --> 00:55:53.260
Ano ba?
00:55:59.280 --> 00:56:00.540
Ano ba?
00:56:04.240 --> 00:56:05.640
Ano ba?
00:56:15.400 --> 00:56:16.800
Ano ba?
00:56:16.800 --> 00:56:17.360
Ano ba?
00:56:17.380 --> 00:56:18.600
Ano ba?
00:56:20.540 --> 00:56:21.000
Ano ba?
00:56:42.420 --> 00:56:42.680
Ano ba?
00:56:44.140 --> 00:56:44.400
Ano ba?
00:56:45.980 --> 00:56:46.240
Ano ba?
00:56:48.340 --> 00:56:48.820
Ano ba?
00:56:50.740 --> 00:56:50.980
Ano ba?
00:56:53.100 --> 00:56:54.500
Ano ba?
00:57:12.480 --> 00:57:13.880
Ano ba?
00:57:13.880 --> 00:57:15.020
Ano ba?
00:57:17.720 --> 00:57:22.820
I'm not sure why my video is closed. Let me fix my video.
00:58:14.260 --> 00:58:14.560
Ano ba?
00:58:34.580 --> 00:58:36.280
Ano ba?
00:58:37.060 --> 00:58:39.040
Ano ba?
00:58:42.840 --> 00:58:44.240
Ano ba?
00:59:04.160 --> 00:59:06.960
Ano ba?
00:59:08.380 --> 00:59:09.260
Ano ba?
00:59:09.260 --> 00:59:09.440
Ano ba?
00:59:09.820 --> 00:59:11.380
Ano ba?
00:59:12.760 --> 00:59:14.160
Ano ba?
00:59:26.980 --> 00:59:27.860
Ano ba?
00:59:27.880 --> 00:59:28.240
Ano ba?
00:59:28.380 --> 00:59:28.740
Ano ba?
00:59:37.120 --> 00:59:38.840
Ano ba?
00:59:39.380 --> 00:59:40.160
Ano ba?
00:59:41.380 --> 00:59:43.180
Ano ba?
00:59:49.020 --> 00:59:50.280
Ano ba?
00:59:51.260 --> 00:59:52.460
Ano ba?
00:59:55.700 --> 00:59:56.900
Ano ba?
00:59:57.100 --> 00:59:58.320
Ano ba?
01:00:18.180 --> 01:00:18.940
Ano ba?
01:00:18.940 --> 01:00:19.480
Ano ba?
01:00:19.500 --> 01:00:19.760
Ano ba?
01:00:22.180 --> 01:00:22.560
Ano ba?
01:00:26.080 --> 01:00:26.460
Ano ba?
01:00:28.840 --> 01:00:30.760
Ano ba?
01:00:31.040 --> 01:00:32.440
Ano ba?
01:00:36.460 --> 01:00:37.140
Ano ba?
01:00:42.100 --> 01:00:43.500
Ano ba?
01:00:46.460 --> 01:00:47.600
Ano ba?
01:00:47.600 --> 01:00:51.580
Ano ba?
01:00:53.940 --> 01:00:55.340
Ano ba?
01:01:00.960 --> 01:01:02.360
Ano ba?
01:01:03.440 --> 01:01:04.860
Ano ba?
01:01:07.480 --> 01:01:08.880
Ano ba?
01:01:37.460 --> 01:01:38.860
Ano ba?
01:01:56.220 --> 01:01:57.420
Ano ba?
01:02:04.780 --> 01:02:05.380
Ano ba?
01:02:07.680 --> 01:02:08.300
Ano ba?
01:02:08.560 --> 01:02:08.780
Ano ba?
01:02:36.960 --> 01:02:37.120
Ano ba?
01:02:38.100 --> 01:02:38.120
Ano ba?
01:02:38.540 --> 01:02:38.620
Ano ba?
01:02:38.620 --> 01:02:38.660
Ano ba?
01:02:38.680 --> 01:02:38.740
Ano ba?
01:02:38.740 --> 01:02:43.520
Ano ba?
01:02:43.760 --> 01:02:44.900
Ano ba?
01:02:48.320 --> 01:02:49.740
Ano ba?
01:02:53.740 --> 01:02:54.240
Ano ba?
01:02:55.800 --> 01:02:57.220
Ano ba?
01:03:10.400 --> 01:03:10.960
Ano ba?
01:03:10.960 --> 01:03:11.460
Ano ba?
01:03:11.480 --> 01:03:11.800
Ano ba?
01:03:11.800 --> 01:03:12.040
Ano ba?
01:03:23.560 --> 01:03:26.200
Ano ba?
01:03:27.260 --> 01:03:28.660
Ano ba?
01:03:29.880 --> 01:03:31.280
Ano ba?
01:03:35.780 --> 01:03:37.200
Ano ba?
01:03:37.300 --> 01:03:38.540
Ano ba?
01:03:51.060 --> 01:03:51.340
Ano ba?
01:03:51.340 --> 01:03:51.420
Ano ba?
01:03:51.900 --> 01:03:52.240
Ano ba?
01:04:07.740 --> 01:04:09.820
Ano ba?
01:04:18.600 --> 01:04:20.160
Ano ba?
01:04:20.920 --> 01:04:21.620
Ano ba?
01:04:26.060 --> 01:04:27.340
Ano ba?
01:04:29.360 --> 01:04:30.700
Ano ba?
01:04:31.380 --> 01:04:31.780
Ano ba?
01:04:33.680 --> 01:04:34.840
Ano ba?
01:04:37.320 --> 01:04:38.940
Ano ba?
01:04:43.260 --> 01:04:44.940
Ano ba?
01:04:53.520 --> 01:04:54.920
Ano ba?
01:04:54.920 --> 01:04:56.120
Ano ba?
01:04:58.080 --> 01:04:59.480
Ano ba?
01:05:07.500 --> 01:05:08.900
Ano ba?
01:05:11.040 --> 01:05:11.240
Ano ba?
01:05:11.380 --> 01:05:11.620
Ano ba?
01:05:15.220 --> 01:05:15.440
Ano ba?
01:05:18.400 --> 01:05:18.600
Ano ba?
01:05:22.480 --> 01:05:22.680
Ano ba?
01:05:35.680 --> 01:05:37.080
Ano ba?
01:05:42.300 --> 01:05:43.700
Ano ba?
01:05:50.800 --> 01:05:52.200
Ano ba?
01:05:52.200 --> 01:05:53.500
Ano ba?
01:06:01.900 --> 01:06:03.300
Ano ba?
01:06:04.000 --> 01:06:05.400
Ano ba?
01:06:05.400 --> 01:06:06.040
Ano ba?
01:06:12.200 --> 01:06:12.460
Ano ba?
01:06:41.440 --> 01:06:41.920
Ano ba?
01:07:11.240 --> 01:07:11.480
Ano ba?
01:07:11.480 --> 01:07:11.540
Ano ba?
01:07:11.540 --> 01:07:13.100
Ano ba?
01:07:16.540 --> 01:07:17.000
Ano ba?
01:07:34.680 --> 01:07:36.100
Ano ba?
01:08:05.360 --> 01:08:05.720
Ano ba?
01:08:05.720 --> 01:08:05.900
Ano ba?
01:08:34.980 --> 01:08:35.360
Ano ba?
01:08:35.360 --> 01:08:35.500
Ano ba?
01:08:35.720 --> 01:08:35.880
Ano ba?
01:08:51.980 --> 01:08:54.780
Ano ba?
01:08:54.780 --> 01:08:55.240
Ano ba?
01:08:55.740 --> 01:08:57.160
Ano ba?
01:08:57.600 --> 01:09:00.820
Ano ba?
01:09:02.140 --> 01:09:03.560
Ano ba?
01:09:26.880 --> 01:09:29.680
Ano ba?
01:09:31.340 --> 01:09:32.760
Ano ba?
01:09:32.780 --> 01:09:33.540
Ano ba?
01:09:33.540 --> 01:09:34.540
Ano ba?
01:09:39.300 --> 01:09:40.200
Ano ba?
01:09:40.340 --> 01:09:41.000
Ano ba?
01:09:42.580 --> 01:09:43.840
Ano ba?
01:09:43.880 --> 01:09:44.720
Ano ba?
01:10:00.080 --> 01:10:02.160
Ano ba?
01:10:02.180 --> 01:10:02.320
Ano ba?
01:10:02.960 --> 01:10:04.040
Ano ba?
01:10:14.740 --> 01:10:16.140
Ano ba?
01:10:16.140 --> 01:10:16.900
Ano ba?
01:10:16.900 --> 01:10:18.000
Ano ba?
01:10:23.680 --> 01:10:25.100
Ano ba?
01:10:28.520 --> 01:10:30.100
Ano ba?
01:10:33.040 --> 01:10:34.440
Ano ba?
01:10:34.980 --> 01:10:36.220
Ano ba?
01:10:37.180 --> 01:10:38.580
Ano ba?
01:10:38.580 --> 01:10:39.060
Ano ba?
01:10:41.460 --> 01:10:43.100
Ano ba?
01:11:07.740 --> 01:11:08.680
Ano ba?
01:11:08.700 --> 01:11:08.900
Ano ba?
01:11:17.900 --> 01:11:19.320
Ano ba?
01:11:19.860 --> 01:11:21.260
Ano ba?
01:11:21.260 --> 01:11:22.340
Ano ba?
01:11:37.020 --> 01:11:38.420
Ano ba?
01:12:07.740 --> 01:12:07.920
Ano ba?
01:12:30.140 --> 01:12:31.540
Ano ba?
01:12:31.940 --> 01:12:33.340
Ano ba?
01:12:33.340 --> 01:12:33.480
Ano ba?
01:12:36.100 --> 01:12:37.500
Ano ba?
01:13:06.720 --> 01:13:06.880
Ano ba?
01:13:06.980 --> 01:13:07.020
Ano ba?
01:13:35.180 --> 01:13:36.580
Ano ba?
01:14:05.880 --> 01:14:06.140
Ano ba?
01:14:08.340 --> 01:14:14.020
Let me know if we can move on to the next sample.
01:14:37.940 --> 01:14:39.420
Yes, po.
01:14:40.280 --> 01:14:40.620
Okay.
01:14:44.400 --> 01:14:45.480
So let's continue.
01:14:47.980 --> 01:14:53.860
So here we already have the...
01:14:53.860 --> 01:14:56.420
Okay, so let's continue.
01:14:56.420 --> 01:15:01.220
Here we have...we already created the table employees
01:15:01.220 --> 01:15:04.420
and we are able to insert sample data.
01:15:06.980 --> 01:15:07.640
One moment.
01:15:09.480 --> 01:15:15.900
So here we select the employee then we create total department salary.
01:15:16.880 --> 01:15:21.340
So we just select the sum, sum of the salary into total salary
01:15:21.340 --> 01:15:25.580
from employees where department ID equals debt ID.
01:15:25.580 --> 01:15:29.240
So I just return the sum of all the total salary.
01:15:33.160 --> 01:15:36.160
So the total salary for example in this case
01:15:36.160 --> 01:15:41.200
using the procedures is 85,000.
01:15:41.320 --> 01:15:45.080
Sorry, the function since we create this function.
01:15:48.180 --> 01:15:52.160
So let's dive in into Dynamic SQL.
01:15:55.440 --> 01:15:58.740
So PL SQL enable us
01:15:58.740 --> 01:16:01.560
enables the seamless integration of SQL statement
01:16:01.560 --> 01:16:05.400
directly into blocks to perform database operation.
01:16:05.680 --> 01:16:11.120
This capability allows for static and dynamic interaction with the database
01:16:11.120 --> 01:16:14.820
making PL SQL highly versatile for application development.
01:16:18.840 --> 01:16:20.840
So static SQL is
01:16:20.840 --> 01:16:25.600
embed SQL statement directly within PL SQL block used for operation that
01:16:25.600 --> 01:16:30.700
don't require dynamic query generation. So always include exception handling
01:16:30.700 --> 01:16:35.940
blocks for robust error management and performance static SQL
01:16:35.940 --> 01:16:40.520
statement in PL SQL are pre-compiled resulting in faster
01:16:40.520 --> 01:16:45.380
execution. So let's have samples. So let's do the
01:16:45.940 --> 01:16:47.300
slide 363.
01:17:11.040 --> 01:17:11.400
Okay.
01:17:12.280 --> 01:17:12.300
Okay.
01:17:12.320 --> 01:17:12.500
Okay.
01:17:13.700 --> 01:17:14.060
Okay.
01:17:15.260 --> 01:17:15.620
Okay.
01:17:20.720 --> 01:17:21.080
Okay.
01:17:21.960 --> 01:17:21.980
Okay.
01:17:22.000 --> 01:17:22.180
Okay.
01:17:23.380 --> 01:17:23.740
Okay.
01:17:24.940 --> 01:17:25.300
Okay.
01:17:26.920 --> 01:17:28.320
Okay.
01:17:29.300 --> 01:17:30.700
Okay.
01:17:51.020 --> 01:17:52.420
Okay.
01:17:57.100 --> 01:17:57.680
Okay.
01:18:00.680 --> 01:18:02.020
Okay.
01:18:30.680 --> 01:18:30.740
Okay.
01:18:30.740 --> 01:18:31.500
Okay.
01:18:32.800 --> 01:18:34.200
Okay.
01:18:35.560 --> 01:18:36.960
Okay.
01:18:38.340 --> 01:18:39.740
Okay.
01:18:44.740 --> 01:18:45.200
Okay.
01:18:46.400 --> 01:18:47.800
Okay.
01:18:48.040 --> 01:18:49.440
Okay.
01:18:49.440 --> 01:18:49.540
Okay.
01:18:55.220 --> 01:18:56.620
Okay.
01:18:57.740 --> 01:18:59.140
Okay.
01:18:59.220 --> 01:19:00.540
Okay.
01:19:00.540 --> 01:19:00.620
Okay.
01:19:05.740 --> 01:19:06.000
Okay.
01:19:09.860 --> 01:19:10.120
Okay.
01:19:10.120 --> 01:19:10.240
Okay.
01:19:10.240 --> 01:19:10.340
Okay.
01:19:14.900 --> 01:19:15.700
Okay.
01:19:19.140 --> 01:19:19.940
Okay.
01:19:20.040 --> 01:19:20.720
Okay.
01:19:20.720 --> 01:19:20.760
Okay.
01:19:20.760 --> 01:19:21.260
Okay.
01:19:21.260 --> 01:19:21.560
Okay.
01:19:21.560 --> 01:19:21.840
Okay.
01:19:21.840 --> 01:19:22.820
Okay.
01:19:25.760 --> 01:19:27.020
Okay.
01:19:27.020 --> 01:19:27.560
Okay.
01:19:29.500 --> 01:19:30.580
Okay.
01:19:31.400 --> 01:19:32.480
Okay.
01:19:32.480 --> 01:19:33.020
Okay.
01:19:33.020 --> 01:19:33.280
Okay.
01:19:37.140 --> 01:19:37.940
Okay.
01:19:42.360 --> 01:19:43.400
Okay.
01:19:43.560 --> 01:19:44.500
Okay.
01:19:47.020 --> 01:19:48.060
Okay.
01:19:48.060 --> 01:19:49.120
Okay.
01:19:49.380 --> 01:19:50.780
Okay.
01:19:52.900 --> 01:19:54.300
Okay.
01:19:54.660 --> 01:19:56.060
Okay.
01:19:56.840 --> 01:19:58.240
Okay.
01:19:58.240 --> 01:19:58.360
Okay.
01:20:03.060 --> 01:20:04.460
Okay.
01:20:05.560 --> 01:20:06.960
Okay.
01:20:06.960 --> 01:20:07.940
Okay.
01:20:07.940 --> 01:20:08.000
Okay.
01:20:08.000 --> 01:20:08.240
Okay.
01:20:14.780 --> 01:20:15.260
Okay.
01:20:15.840 --> 01:20:16.860
Okay.
01:20:16.860 --> 01:20:17.160
Okay.
01:20:17.800 --> 01:20:19.000
Okay.
01:20:19.080 --> 01:20:19.680
Okay.
01:20:42.080 --> 01:20:43.480
Okay.
01:20:43.480 --> 01:20:44.180
Okay.
01:20:45.980 --> 01:20:47.300
Okay.
01:20:49.660 --> 01:20:49.900
Okay.
01:20:54.080 --> 01:20:55.480
Okay.
01:21:16.280 --> 01:21:17.680
Okay.
01:21:17.680 --> 01:21:17.740
Okay.
01:21:17.740 --> 01:21:18.020
Okay.
01:21:19.820 --> 01:21:20.380
Okay.
01:21:20.380 --> 01:21:20.440
Okay.
01:21:21.680 --> 01:21:23.080
Okay.
01:21:23.080 --> 01:21:23.260
Okay.
01:21:23.260 --> 01:21:23.400
Okay.
01:21:23.400 --> 01:21:23.460
Okay.
01:21:25.380 --> 01:21:25.540
Okay.
01:21:26.900 --> 01:21:27.060
Okay.
01:21:27.060 --> 01:21:27.820
Okay.
01:21:28.100 --> 01:21:29.260
Okay.
01:21:29.400 --> 01:21:29.800
Okay.
01:21:31.360 --> 01:21:32.520
Okay.
01:21:33.540 --> 01:21:34.700
Okay.
01:21:34.700 --> 01:21:34.740
Okay.
01:21:34.740 --> 01:21:34.800
Okay.
01:21:37.120 --> 01:21:37.400
Okay.
01:21:39.880 --> 01:21:40.160
Okay.
01:21:42.120 --> 01:21:43.520
Okay.
01:21:43.540 --> 01:21:43.560
Okay.
01:21:44.320 --> 01:21:45.620
Okay.
01:21:48.680 --> 01:21:50.080
Okay.
01:22:05.100 --> 01:22:05.160
Okay.
01:22:15.320 --> 01:22:15.480
Okay.
01:22:18.140 --> 01:22:19.540
Okay.
01:22:19.640 --> 01:22:20.860
Okay.
01:22:32.760 --> 01:22:34.160
Okay.
01:22:47.160 --> 01:22:48.560
Okay.
01:22:49.200 --> 01:22:50.600
Okay.
01:22:51.560 --> 01:22:52.960
Okay.
01:23:05.780 --> 01:23:07.180
Okay.
01:23:15.480 --> 01:23:16.760
Okay.
01:23:16.760 --> 01:23:17.160
Okay.
01:23:17.460 --> 01:23:18.860
Okay.
01:23:19.980 --> 01:23:21.380
Okay.
01:23:21.380 --> 01:23:21.440
Okay.
01:23:21.440 --> 01:23:23.520
Okay.
01:23:23.540 --> 01:23:23.560
Okay.
01:23:28.160 --> 01:23:29.560
Okay.
01:23:33.840 --> 01:23:35.000
Okay.
01:23:49.560 --> 01:23:49.780
Yes.
01:23:49.780 --> 01:23:52.340
Okay.
01:23:53.200 --> 01:23:54.600
Okay.
01:23:56.640 --> 01:23:57.480
Okay.
01:23:58.300 --> 01:23:58.820
Okay.
01:23:59.740 --> 01:24:00.080
Okay.
01:24:03.380 --> 01:24:04.780
Okay.
01:24:05.020 --> 01:24:05.880
Okay.
01:24:11.900 --> 01:24:13.280
Okay.
01:24:21.260 --> 01:24:22.660
Okay.
01:24:23.840 --> 01:24:24.040
Okay.
01:24:24.040 --> 01:24:24.480
Okay.
01:24:39.260 --> 01:24:40.660
Okay.
01:24:50.980 --> 01:24:52.380
Okay.
01:24:56.080 --> 01:24:57.480
Okay.
01:25:02.480 --> 01:25:02.800
Okay.
01:25:06.480 --> 01:25:07.880
Okay.
01:25:07.880 --> 01:25:08.280
Okay.
01:25:08.480 --> 01:25:09.880
Okay.
01:25:10.200 --> 01:25:10.960
Okay.
01:25:26.440 --> 01:25:27.840
Okay.
01:25:27.840 --> 01:25:28.480
Okay.
01:25:28.940 --> 01:25:29.720
Okay.
01:25:31.940 --> 01:25:33.340
Okay.
01:25:37.720 --> 01:25:39.120
Okay.
01:25:56.280 --> 01:25:57.680
Okay.
01:25:57.680 --> 01:26:00.120
Okay.
01:26:01.620 --> 01:26:03.020
Okay.
01:26:03.480 --> 01:26:04.880
Okay.
01:26:26.160 --> 01:26:27.560
Okay.
01:26:31.560 --> 01:26:32.960
Okay.
01:26:40.160 --> 01:26:41.560
Okay.
01:26:44.260 --> 01:26:45.660
Okay.
01:26:48.300 --> 01:26:49.700
Okay.
01:26:55.340 --> 01:26:56.460
Okay.
01:26:56.460 --> 01:26:57.680
Okay.
01:26:57.680 --> 01:26:58.200
Okay.
01:26:58.660 --> 01:26:59.700
Okay.
01:27:04.100 --> 01:27:05.140
Okay.
01:27:05.140 --> 01:27:05.160
Okay.
01:27:30.740 --> 01:27:31.460
Okay.
01:27:47.660 --> 01:27:49.060
Okay.
01:27:55.020 --> 01:27:56.420
Okay.
01:28:13.640 --> 01:28:14.000
Okay.
01:28:14.020 --> 01:28:14.040
Okay.
01:28:14.060 --> 01:28:14.080
Okay.
01:28:15.980 --> 01:28:16.340
Okay.
01:28:25.700 --> 01:28:26.060
Okay.
01:28:26.060 --> 01:28:26.320
Okay.
01:28:29.200 --> 01:28:29.240
Okay.
01:28:44.240 --> 01:28:44.400
Okay.
01:28:44.840 --> 01:28:45.640
Okay.
01:28:48.680 --> 01:28:50.080
Okay.
01:29:00.640 --> 01:29:01.000
Okay.
01:29:07.740 --> 01:29:08.720
Okay.
01:29:12.080 --> 01:29:12.440
Okay.
01:29:12.540 --> 01:29:12.720
Okay.
01:29:17.580 --> 01:29:17.780
Okay.
01:29:17.800 --> 01:29:17.820
Okay.
01:29:17.840 --> 01:29:17.980
Okay.
01:29:18.080 --> 01:29:18.100
Okay.
01:29:19.000 --> 01:29:19.200
Okay.
01:29:19.200 --> 01:29:20.060
Okay.
01:29:20.060 --> 01:29:20.740
Okay.
01:29:20.740 --> 01:29:21.880
Okay.
01:29:23.260 --> 01:29:24.660
Okay.
01:29:26.120 --> 01:29:30.660
So I hope yung mga test cases it help you to understand more
01:29:32.020 --> 01:29:35.720
dun pa sa topic na on each topic.
01:29:57.900 --> 01:29:58.080
Okay.
01:29:58.680 --> 01:30:00.080
Okay.
01:30:02.180 --> 01:30:03.580
Okay.
01:30:03.580 --> 01:30:04.580
Okay.
01:30:38.680 --> 01:30:39.040
Okay.
01:30:39.920 --> 01:30:39.940
Okay.
01:30:39.960 --> 01:30:40.140
Okay.
01:30:41.340 --> 01:30:41.700
Okay.
01:30:42.900 --> 01:30:43.260
Okay.
01:30:48.360 --> 01:30:48.720
Okay.
01:30:49.600 --> 01:30:49.620
Okay.
01:30:49.640 --> 01:30:49.820
Okay.
01:30:51.020 --> 01:30:51.380
Okay.
01:30:52.580 --> 01:30:52.940
Okay.
01:30:58.040 --> 01:30:58.400
Okay.
01:30:59.280 --> 01:30:59.300
Okay.
01:30:59.320 --> 01:30:59.500
Okay.
01:31:00.700 --> 01:31:01.060
Okay.
01:31:02.260 --> 01:31:02.620
Okay.
01:31:07.720 --> 01:31:08.080
Okay.
01:31:08.960 --> 01:31:08.980
Okay.
01:31:09.000 --> 01:31:09.180
Okay.
01:31:10.380 --> 01:31:10.740
Okay.
01:31:11.940 --> 01:31:12.300
Okay.
01:31:12.300 --> 01:31:12.340
Okay.
01:31:12.340 --> 01:31:12.380
Okay.
01:31:13.120 --> 01:31:13.200
Okay.
01:31:13.200 --> 01:31:13.280
Okay.
01:31:13.280 --> 01:31:13.540
Okay.
01:31:13.540 --> 01:31:13.620
Okay.
01:31:13.620 --> 01:31:13.880
Okay.
01:31:14.700 --> 01:31:15.220
Okay.
01:31:15.220 --> 01:31:15.300
Okay.
01:31:15.300 --> 01:31:15.700
Okay.
01:31:16.880 --> 01:31:17.360
Okay.
01:31:17.360 --> 01:31:17.460
Okay.
01:31:40.720 --> 01:31:42.120
Okay.
01:31:42.120 --> 01:31:43.700
Okay.
01:31:43.700 --> 01:31:43.880
Okay.
01:31:44.640 --> 01:31:45.460
Okay.
01:31:47.880 --> 01:31:49.280
Okay.
01:31:50.540 --> 01:31:51.940
Okay.
01:31:59.980 --> 01:32:00.020
Okay.
01:32:00.040 --> 01:32:00.060
Okay.
01:32:00.080 --> 01:32:00.100
Okay.
01:32:02.780 --> 01:32:02.820
Okay.
01:32:02.940 --> 01:32:02.980
Okay.
01:32:05.860 --> 01:32:07.260
Okay.
01:32:07.820 --> 01:32:09.220
Okay.
01:32:09.220 --> 01:32:09.540
Okay.
01:32:09.680 --> 01:32:11.080
Okay.
01:32:11.280 --> 01:32:12.680
Okay.
01:32:12.680 --> 01:32:12.900
Okay.
01:32:12.900 --> 01:32:13.480
Okay.
01:32:17.340 --> 01:32:18.140
Okay.
01:32:18.140 --> 01:32:19.140
Okay.
01:32:22.200 --> 01:32:23.600
Okay.
01:32:25.180 --> 01:32:26.580
Okay.
01:32:26.580 --> 01:32:26.620
Okay.
01:32:30.040 --> 01:32:30.100
Okay.
01:32:30.100 --> 01:32:30.120
Okay.
01:32:31.180 --> 01:32:31.240
Okay.
01:32:31.240 --> 01:32:31.300
Okay.
01:32:31.700 --> 01:32:31.780
Okay.
01:32:37.380 --> 01:32:37.460
Okay.
01:32:37.480 --> 01:32:37.500
Okay.
01:32:37.500 --> 01:32:37.580
Okay.
01:32:39.060 --> 01:32:40.460
Okay.
01:32:41.540 --> 01:32:42.940
Okay.
01:33:03.360 --> 01:33:04.760
Okay.
01:33:04.760 --> 01:33:04.840
Okay.
01:33:04.840 --> 01:33:05.280
Okay.
01:33:09.340 --> 01:33:10.220
Okay.
01:33:13.400 --> 01:33:14.280
Okay.
01:33:14.280 --> 01:33:14.340
Okay.
01:33:18.340 --> 01:33:19.740
Okay.
01:33:20.540 --> 01:33:21.940
Okay.
01:33:22.880 --> 01:33:24.280
Okay.
01:33:24.280 --> 01:33:24.320
Okay.
01:33:24.320 --> 01:33:24.500
Okay.
01:33:32.000 --> 01:33:32.360
Okay.
01:33:33.620 --> 01:33:33.980
Okay.
01:33:33.980 --> 01:33:34.040
Okay.
01:33:35.500 --> 01:33:36.900
Okay.
01:33:40.260 --> 01:33:41.660
Okay.
01:33:42.780 --> 01:33:44.180
Okay.
01:33:44.180 --> 01:33:44.220
Okay.
01:33:45.660 --> 01:33:47.060
Okay.
01:33:48.240 --> 01:33:49.640
Okay.
01:33:50.900 --> 01:33:52.300
Okay.
01:33:57.400 --> 01:33:57.760
Okay.
01:33:58.640 --> 01:33:58.660
Okay.
01:33:58.680 --> 01:33:58.860
Okay.
01:34:00.060 --> 01:34:00.420
Okay.
01:34:01.620 --> 01:34:01.980
Okay.
01:34:07.080 --> 01:34:07.440
Okay.
01:34:08.320 --> 01:34:08.340
Okay.
01:34:08.360 --> 01:34:08.540
Okay.
01:34:09.740 --> 01:34:10.100
Okay.
01:34:11.300 --> 01:34:11.660
Okay.
01:34:16.760 --> 01:34:17.120
Okay.
01:34:18.000 --> 01:34:18.020
Okay.
01:34:18.040 --> 01:34:18.220
Okay.
01:34:19.420 --> 01:34:19.780
Okay.
01:34:20.980 --> 01:34:21.340
Okay.
01:34:26.440 --> 01:34:26.800
Okay.
01:34:27.680 --> 01:34:27.700
Okay.
01:34:27.720 --> 01:34:27.900
Okay.
01:34:29.100 --> 01:34:29.460
Okay.
01:34:30.660 --> 01:34:31.020
Okay.
01:34:32.420 --> 01:34:33.820
Okay.
01:34:35.000 --> 01:34:36.400
Okay.
01:34:36.400 --> 01:34:36.440
Okay.
01:34:38.100 --> 01:34:38.400
Okay.
01:34:38.620 --> 01:34:39.180
Okay.
01:34:41.180 --> 01:34:41.780
Okay.
01:35:06.980 --> 01:35:07.540
Okay.
01:35:07.540 --> 01:35:08.020
Okay.
01:35:08.020 --> 01:35:08.100
Okay.
01:35:09.020 --> 01:35:09.580
Okay.
01:35:09.660 --> 01:35:09.940
Okay.
01:35:41.500 --> 01:35:41.860
Okay.
01:35:42.740 --> 01:35:42.760
Okay.
01:35:42.780 --> 01:35:42.960
Okay.
01:35:44.160 --> 01:35:44.520
Okay.
01:35:45.720 --> 01:35:46.080
Okay.
01:35:51.180 --> 01:35:51.540
Okay.
01:35:52.420 --> 01:35:52.440
Okay.
01:35:52.460 --> 01:35:52.640
Okay.
01:35:53.840 --> 01:35:54.200
Okay.
01:35:55.400 --> 01:35:55.760
Okay.
01:36:00.860 --> 01:36:01.220
Okay.
01:36:02.100 --> 01:36:02.120
Okay.
01:36:02.140 --> 01:36:02.320
Okay.
01:36:03.520 --> 01:36:03.880
Okay.
01:36:05.080 --> 01:36:05.440
Okay.
01:36:10.540 --> 01:36:10.900
Okay.
01:36:11.780 --> 01:36:11.800
Okay.
01:36:11.820 --> 01:36:12.000
Okay.
01:36:13.200 --> 01:36:13.560
Okay.
01:36:14.760 --> 01:36:15.120
Okay.
01:36:15.120 --> 01:36:15.200
Okay.
01:36:15.200 --> 01:36:16.120
Okay.
01:36:39.520 --> 01:36:40.560
Okay.
01:36:44.440 --> 01:36:45.480
Okay.
01:36:45.900 --> 01:36:46.100
Okay.
01:36:53.440 --> 01:36:54.480
Okay.
01:36:54.480 --> 01:36:54.800
Yes po.
01:36:55.920 --> 01:36:57.800
Okay. Yeah.
01:36:58.320 --> 01:37:02.720
So let's move on. So try the
01:37:02.720 --> 01:37:06.500
slide 367 na tayo.
01:37:06.500 --> 01:37:10.700
Which is DDL and DML with dynamic SQL.
01:37:11.480 --> 01:37:16.360
So the DDL is the create outward drop and the DML is insert update statement
01:37:16.360 --> 01:37:19.060
that are not possible in static SQL.
01:37:21.140 --> 01:37:23.680
So slide 367.
01:37:37.320 --> 01:37:38.720
Okay.
01:37:41.660 --> 01:37:43.060
Okay.
01:37:43.060 --> 01:37:44.220
Okay.
01:37:44.220 --> 01:37:44.720
Okay.
01:37:44.720 --> 01:37:44.760
Okay.
01:37:44.760 --> 01:37:44.920
Okay.
01:37:44.980 --> 01:37:45.300
Okay.
01:37:45.300 --> 01:37:45.380
Okay.
01:37:45.380 --> 01:37:45.880
Okay.
01:37:45.880 --> 01:37:45.940
Okay.
01:37:45.960 --> 01:37:46.160
Okay.
01:37:46.160 --> 01:37:46.260
Okay.
01:37:46.260 --> 01:37:46.400
Okay.
01:37:46.400 --> 01:37:46.560
Okay.
01:37:46.560 --> 01:37:46.580
Okay.
01:37:46.580 --> 01:37:46.620
Okay.
01:37:46.820 --> 01:37:46.900
Okay.
01:37:46.900 --> 01:37:46.940
Okay.
01:37:46.940 --> 01:37:47.180
Okay.
01:37:47.180 --> 01:37:47.480
Okay.
01:37:47.580 --> 01:37:47.760
Okay.
01:38:16.900 --> 01:38:18.300
Okay.
01:38:46.880 --> 01:38:48.280
Okay.
01:38:48.300 --> 01:38:48.640
Okay.
01:38:48.640 --> 01:38:49.520
Okay.
01:38:49.520 --> 01:38:49.560
Okay.
01:38:49.560 --> 01:38:50.100
Okay.
01:38:53.620 --> 01:38:55.020
Okay.
01:39:14.680 --> 01:39:16.080
Okay.
01:39:16.080 --> 01:39:16.120
Okay.
01:39:16.120 --> 01:39:16.380
Okay.
01:39:16.380 --> 01:39:16.420
Okay.
01:39:16.420 --> 01:39:17.200
Okay.
01:39:18.140 --> 01:39:19.540
Okay.
01:39:19.540 --> 01:39:19.600
Okay.
01:39:19.600 --> 01:39:20.040
Okay.
01:39:23.600 --> 01:39:25.000
Okay.
01:39:45.380 --> 01:39:46.780
Okay.
01:39:46.780 --> 01:39:46.820
Okay.
01:39:46.820 --> 01:39:47.260
Okay.
01:39:52.600 --> 01:39:54.000
Okay.
01:39:54.120 --> 01:39:55.520
Okay.
01:39:55.940 --> 01:39:57.340
Okay.
01:39:57.340 --> 01:39:58.600
Okay.
01:39:59.580 --> 01:40:00.980
Okay.
01:40:00.980 --> 01:40:01.020
Okay.
01:40:01.020 --> 01:40:01.440
Okay.
01:40:05.600 --> 01:40:06.440
Okay.
01:40:11.320 --> 01:40:12.160
Okay.
01:40:12.160 --> 01:40:12.500
Okay.
01:40:16.920 --> 01:40:17.600
Okay.
01:40:17.600 --> 01:40:17.720
Okay.
01:40:41.020 --> 01:40:42.420
Okay.
01:40:46.300 --> 01:40:47.700
Okay.
01:40:48.960 --> 01:40:53.700
Okay na po tayo sa 367 or you still need more time.
01:40:57.140 --> 01:40:59.020
So again, yung dynamic SQL,
01:40:59.060 --> 01:41:03.840
it allows us executing the DDL or data definition
01:41:03.840 --> 01:41:08.400
language and data manipulation language or DML statement at
01:41:08.400 --> 01:41:12.500
runtime. So this flexibility is particularly useful for
01:41:12.500 --> 01:41:16.660
operations that involve variable object names or structure.
01:41:19.260 --> 01:41:21.320
So you know, we have a dynamic query.
01:41:22.040 --> 01:41:26.400
So the execute immediate statement is used to be execute a dynamically
01:41:26.400 --> 01:41:31.040
constructed DDL statement. Like in our case, it's a create table.
01:41:33.140 --> 01:41:37.080
Then creates a table named temp table which
01:41:37.080 --> 01:41:39.920
with column ID and name.
01:41:44.200 --> 01:41:47.120
Then the result should have
01:41:48.020 --> 01:41:50.180
new tables created in the database.
01:41:51.440 --> 01:41:56.680
So again, best practices for dynamic SQL, use exception blocks for gracefully handling
01:41:56.680 --> 01:42:01.620
errors, testing, validate the constructed SQL string before execution to avoid
01:42:01.620 --> 01:42:06.480
runtime errors and security. Use parameter binding
01:42:06.480 --> 01:42:12.020
to prevent SQL injection when constructing queries with user input.
01:42:13.320 --> 01:42:16.720
Let me know po if good na tayo sa 367 so we can proceed.
01:42:16.960 --> 01:42:19.020
Thank you.
01:42:23.700 --> 01:42:26.560
Okay na. Okay, good. Thank you for that.
01:42:29.180 --> 01:42:31.580
Now let's try naman
01:42:31.580 --> 01:42:35.440
yung constructing and executing dynamic queries.
01:42:37.220 --> 01:42:40.500
So let's do the slide 368.
01:42:41.920 --> 01:42:47.000
So dynamic SQL, it's providing flexibility to construct SQL statement
01:42:47.000 --> 01:42:51.060
at runtime. So allowing for dynamic update,
01:42:51.060 --> 01:42:56.060
insert and other operations. So we are now in slide
01:42:58.740 --> 01:42:59.500
368.
01:43:14.340 --> 01:43:19.000
So kalangan natin ng employees table. I think which you already have created.
01:43:19.000 --> 01:43:23.540
Then we can jump on the test case to update the salaries
01:43:23.540 --> 01:43:25.580
for department one.
01:43:27.680 --> 01:43:29.700
Change na lang kung depth ID on.
01:43:34.600 --> 01:43:39.160
Also you can change the one to whatever the ID you like.
01:43:49.540 --> 01:43:49.560
Okay.
01:43:50.680 --> 01:43:51.220
Okay.
01:44:14.160 --> 01:44:15.560
Okay.
01:44:15.560 --> 01:44:15.640
Okay.
01:44:26.600 --> 01:44:28.000
Okay.
01:44:41.340 --> 01:44:42.740
Okay.
01:44:42.740 --> 01:44:42.760
Okay.
01:44:44.060 --> 01:44:45.460
Okay.
01:44:46.800 --> 01:44:48.200
Okay.
01:44:48.200 --> 01:44:48.260
Okay.
01:44:53.640 --> 01:44:55.040
Okay.
01:44:55.040 --> 01:44:55.080
Okay.
01:44:55.080 --> 01:44:55.380
Okay.
01:44:55.380 --> 01:44:55.500
Okay.
01:44:55.500 --> 01:44:55.540
Okay.
01:44:55.540 --> 01:44:56.040
Okay.
01:44:56.040 --> 01:44:56.580
Okay.
01:45:54.160 --> 01:45:55.560
Okay.
01:45:59.720 --> 01:46:01.120
Okay.
01:46:01.140 --> 01:46:01.160
Okay.
01:46:02.920 --> 01:46:03.660
Okay.
01:46:03.660 --> 01:46:04.880
Okay.
01:46:04.880 --> 01:46:05.660
Okay.
01:46:06.240 --> 01:46:06.580
Okay.
01:46:06.580 --> 01:46:07.840
Okay.
01:46:07.840 --> 01:46:08.220
Okay.
01:46:10.640 --> 01:46:12.040
Okay.
01:46:12.200 --> 01:46:13.520
Okay.
01:46:13.520 --> 01:46:13.740
Okay.
01:46:13.740 --> 01:46:14.020
Okay.
01:46:18.480 --> 01:46:18.980
Okay.
01:46:36.560 --> 01:46:37.960
Okay.
01:46:54.440 --> 01:46:55.840
Okay.
01:46:58.580 --> 01:46:59.980
Okay.
01:47:05.900 --> 01:47:07.300
Okay.
01:47:07.300 --> 01:47:09.940
Okay.
01:47:11.040 --> 01:47:12.180
Okay.
01:47:12.180 --> 01:47:12.360
Okay.
01:47:38.300 --> 01:47:39.020
Okay.
01:47:40.620 --> 01:47:42.020
Yes.
01:48:12.560 --> 01:48:12.760
Okay.
01:48:13.640 --> 01:48:13.660
Okay.
01:48:13.680 --> 01:48:13.860
Okay.
01:48:18.960 --> 01:48:19.320
Okay.
01:48:20.200 --> 01:48:20.220
Okay.
01:48:20.240 --> 01:48:20.420
Okay.
01:48:21.620 --> 01:48:21.980
Okay.
01:48:23.180 --> 01:48:23.540
Okay.
01:48:28.640 --> 01:48:29.000
Okay.
01:48:29.880 --> 01:48:29.900
Okay.
01:48:29.920 --> 01:48:30.100
Okay.
01:48:31.300 --> 01:48:31.660
Okay.
01:48:32.860 --> 01:48:33.220
Okay.
01:48:38.320 --> 01:48:38.680
Okay.
01:48:39.560 --> 01:48:39.580
Okay.
01:48:39.600 --> 01:48:39.780
Okay.
01:48:40.980 --> 01:48:41.340
Okay.
01:48:42.540 --> 01:48:42.900
Okay.
01:48:48.000 --> 01:48:48.360
Okay.
01:48:49.240 --> 01:48:49.260
Okay.
01:48:49.280 --> 01:48:49.460
Okay.
01:48:50.660 --> 01:48:51.020
Okay.
01:48:52.220 --> 01:48:52.580
Okay.
01:48:57.680 --> 01:48:58.040
Okay.
01:48:58.920 --> 01:48:58.940
Okay.
01:48:58.960 --> 01:48:59.140
Okay.
01:49:00.340 --> 01:49:00.700
Okay.
01:49:01.900 --> 01:49:02.260
Okay.
01:49:07.360 --> 01:49:07.720
Okay.
01:49:08.600 --> 01:49:08.620
Okay.
01:49:08.640 --> 01:49:08.820
Okay.
01:49:10.020 --> 01:49:10.380
Okay.
01:49:11.580 --> 01:49:11.940
Okay.
01:49:17.040 --> 01:49:17.400
Okay.
01:49:18.280 --> 01:49:18.300
Okay.
01:49:18.320 --> 01:49:18.500
Okay.
01:49:19.700 --> 01:49:20.060
Okay.
01:49:21.260 --> 01:49:21.620
Okay.
01:49:26.720 --> 01:49:27.080
Okay.
01:49:27.960 --> 01:49:27.980
Okay.
01:49:28.000 --> 01:49:28.180
Okay.
01:49:29.380 --> 01:49:29.740
Okay.
01:49:30.940 --> 01:49:31.300
Okay.
01:49:36.400 --> 01:49:36.760
Okay.
01:49:37.640 --> 01:49:37.660
Okay.
01:49:37.680 --> 01:49:37.860
Okay.
01:49:39.060 --> 01:49:39.420
Okay.
01:49:40.620 --> 01:49:40.980
Okay.
01:49:46.080 --> 01:49:46.440
Okay.
01:49:47.320 --> 01:49:47.340
Okay.
01:49:47.360 --> 01:49:47.540
Okay.
01:49:48.740 --> 01:49:49.100
Okay.
01:49:50.300 --> 01:49:50.660
Okay.
01:49:55.760 --> 01:49:56.120
Okay.
01:49:57.000 --> 01:49:57.020
Okay.
01:49:57.040 --> 01:49:57.220
Okay.
01:49:58.420 --> 01:49:58.780
Okay.
01:49:59.980 --> 01:50:00.340
Okay.
01:50:05.440 --> 01:50:05.800
Okay.
01:50:06.680 --> 01:50:06.700
Okay.
01:50:06.720 --> 01:50:06.900
Okay.
01:50:08.100 --> 01:50:08.460
Okay.
01:50:09.660 --> 01:50:10.020
Okay.
01:50:15.120 --> 01:50:15.480
Okay.
01:50:16.360 --> 01:50:16.380
Okay.
01:50:16.400 --> 01:50:16.580
Okay.
01:50:17.780 --> 01:50:18.140
Okay.
01:50:19.340 --> 01:50:19.700
Okay.
01:50:24.800 --> 01:50:25.160
Okay.
01:50:26.040 --> 01:50:26.060
Okay.
01:50:26.080 --> 01:50:26.260
Okay.
01:50:27.460 --> 01:50:27.820
Okay.
01:50:29.020 --> 01:50:29.380
Okay.
01:50:34.480 --> 01:50:34.840
Okay.
01:50:35.720 --> 01:50:35.740
Okay.
01:50:35.760 --> 01:50:35.940
Okay.
01:50:37.140 --> 01:50:37.500
Okay.
01:50:38.700 --> 01:50:39.060
Okay.
01:50:44.160 --> 01:50:44.520
Okay.
01:50:45.400 --> 01:50:45.420
Okay.
01:50:45.440 --> 01:50:45.620
Okay.
01:50:46.820 --> 01:50:47.180
Okay.
01:50:48.380 --> 01:50:48.740
Okay.
01:50:53.840 --> 01:50:54.200
Okay.
01:50:55.080 --> 01:50:55.100
Okay.
01:50:55.120 --> 01:50:55.300
Okay.
01:50:56.500 --> 01:50:56.860
Okay.
01:50:58.060 --> 01:50:58.420
Okay.
01:51:03.520 --> 01:51:03.880
Okay.
01:51:04.760 --> 01:51:04.780
Okay.
01:51:04.800 --> 01:51:04.980
Okay.
01:51:06.180 --> 01:51:06.540
Okay.
01:51:07.740 --> 01:51:08.100
Okay.
01:51:13.200 --> 01:51:13.560
Okay.
01:51:14.440 --> 01:51:14.460
Okay.
01:51:14.480 --> 01:51:14.660
Okay.
01:51:15.860 --> 01:51:16.220
Okay.
01:51:17.420 --> 01:51:17.780
Okay.
01:51:22.880 --> 01:51:23.240
Okay.
01:51:24.120 --> 01:51:24.140
Okay.
01:51:24.160 --> 01:51:24.340
Okay.
01:51:25.540 --> 01:51:25.900
Okay.
01:51:27.100 --> 01:51:27.460
Okay.
01:51:28.160 --> 01:51:29.560
Okay.
01:51:31.460 --> 01:51:32.860
Okay.
01:51:35.740 --> 01:51:37.140
Okay.
01:51:38.300 --> 01:51:39.700
Okay.
01:51:43.680 --> 01:51:45.080
Okay.
01:51:56.140 --> 01:51:57.540
Okay.
01:51:58.100 --> 01:51:58.940
Okay.
01:51:58.940 --> 01:51:58.960
Okay.
01:52:01.740 --> 01:52:03.140
Okay.
01:52:03.160 --> 01:52:04.360
Okay.
01:52:17.860 --> 01:52:19.260
Okay.
01:52:26.800 --> 01:52:28.200
Okay.
01:52:28.200 --> 01:52:29.080
Okay.
01:52:29.080 --> 01:52:30.200
Okay.
01:52:32.200 --> 01:52:33.600
Okay.
01:52:33.600 --> 01:52:34.820
Okay.
01:52:48.200 --> 01:52:49.060
Okay.
01:52:50.660 --> 01:52:52.060
Okay.
01:52:54.420 --> 01:52:55.820
Okay.
01:52:55.820 --> 01:52:56.200
Okay.
01:52:56.640 --> 01:52:58.040
Okay.
01:52:58.360 --> 01:52:59.760
Okay.
01:53:01.880 --> 01:53:03.280
Okay.
01:53:05.220 --> 01:53:06.620
Okay.
01:53:09.400 --> 01:53:10.800
Okay.
01:53:10.800 --> 01:53:12.460
Okay.
01:53:12.460 --> 01:53:13.160
Okay.
01:53:14.820 --> 01:53:16.220
Okay.
01:53:16.400 --> 01:53:17.780
Okay.
01:53:19.260 --> 01:53:20.660
Okay.
01:53:20.660 --> 01:53:22.520
Okay.
01:53:22.520 --> 01:53:23.200
Okay.
01:53:23.840 --> 01:53:25.240
Okay.
01:53:26.660 --> 01:53:28.060
Okay.
01:53:29.000 --> 01:53:30.400
Okay.
01:53:30.400 --> 01:53:30.420
Okay.
01:53:30.920 --> 01:53:32.320
Okay.
01:53:36.280 --> 01:53:37.680
Okay.
01:53:43.520 --> 01:53:44.920
Okay.
01:53:44.920 --> 01:53:45.540
Okay.
01:53:58.400 --> 01:53:59.800
Okay.
01:54:12.120 --> 01:54:13.160
Okay.
01:54:13.600 --> 01:54:13.720
Okay.
01:54:17.240 --> 01:54:18.280
Okay.
01:54:18.280 --> 01:54:18.300
Okay.
01:54:20.000 --> 01:54:21.400
Okay.
01:54:33.140 --> 01:54:33.280
Okay.
01:54:43.880 --> 01:54:45.280
Okay.
01:54:48.200 --> 01:54:48.220
Okay.
01:54:48.220 --> 01:54:49.660
Okay.
01:54:49.680 --> 01:54:49.700
Okay.
01:54:49.720 --> 01:54:49.740
Okay.
01:54:49.760 --> 01:54:50.580
Okay.
01:55:11.180 --> 01:55:12.020
Okay.
01:55:19.000 --> 01:55:20.400
Okay.
01:55:27.020 --> 01:55:27.220
Okay.
01:55:29.280 --> 01:55:30.680
Okay.
01:55:30.680 --> 01:55:30.720
Okay.
01:55:31.460 --> 01:55:32.500
Okay.
01:55:33.700 --> 01:55:34.980
Okay.
01:55:35.700 --> 01:55:37.100
Okay.
01:55:41.380 --> 01:55:42.780
Okay.
01:55:47.440 --> 01:55:47.780
Okay.
01:55:58.020 --> 01:55:59.420
Okay.
01:56:11.360 --> 01:56:12.760
Okay.
01:56:15.760 --> 01:56:16.480
Okay.
01:56:17.360 --> 01:56:19.460
Yeah, that's fine. Let me check.
01:56:22.200 --> 01:56:25.200
Are you able to send the script?
01:56:25.660 --> 01:56:26.060
Sir Miguel.
01:56:30.100 --> 01:56:31.500
Okay.
01:56:34.760 --> 01:56:34.820
Okay.
01:56:41.860 --> 01:56:43.260
Okay.
01:56:58.040 --> 01:56:59.440
Okay.
01:57:02.800 --> 01:57:03.160
Okay.
01:57:04.800 --> 01:57:06.200
Okay.
01:57:06.200 --> 01:57:06.360
Okay.
01:57:08.280 --> 01:57:08.720
Okay.
01:57:14.160 --> 01:57:28.760
Because of I think the data type.
01:57:28.760 --> 01:57:33.760
Can we check yung employees natin?
01:57:35.680 --> 01:57:38.760
Yeah, yung employees table. Tapos, pano natin din define?
01:57:40.480 --> 01:57:43.280
Yan, yung columns. Tapos,
01:57:45.820 --> 01:57:47.740
so, worker 50.
01:57:48.920 --> 01:57:51.480
Check natin, pano natin din clear doon?
01:57:53.720 --> 01:57:55.080
Yeah.
01:57:57.260 --> 01:57:59.960
Worker 2. Tapos,
01:58:00.640 --> 01:58:02.320
how do we?
01:58:06.660 --> 01:58:10.400
It should be match the data type properly.
01:58:24.360 --> 01:58:26.920
So, doon sa define column,
01:58:27.640 --> 01:58:29.580
asa na yung B cursor ID?
01:58:31.400 --> 01:58:37.920
Sa line 20, maglagay tayo ng
01:58:37.920 --> 01:58:42.580
define column, maglagay tayo ng comma 50
01:58:42.580 --> 01:58:47.480
doon sa line 20. Next to V name. V name, comma 50.
01:58:48.600 --> 01:58:51.540
Three mga po. Ayun, okay na no? Nag run po.
01:58:53.140 --> 01:58:58.000
So, ang issue natin is yung data type mismatch.
01:58:59.760 --> 01:59:03.300
So, kasi din define natin na 50 yung phrase name.
01:59:09.080 --> 01:59:10.020
So, yun po.
01:59:20.860 --> 01:59:23.960
Sir, sorry. Kung nangyari is yung dulo
01:59:23.960 --> 01:59:26.940
nilagyan natin sinang size ng bar cartop.
01:59:28.620 --> 01:59:31.720
Ano pag yung B name is number?
01:59:33.900 --> 01:59:38.360
Wala na. Hindi na. Kasi wala naman tayong size doon.
01:59:38.440 --> 01:59:39.420
So, okay na yung number.
01:59:41.040 --> 01:59:45.420
Yeah, kasi yung string nagbabago may 50, may 100, 200, ganoon.
01:59:49.620 --> 01:59:54.080
Which is goods din kasi we're sure na yun yung
01:59:54.080 --> 01:59:55.600
part ng validation din.
02:00:10.820 --> 02:00:15.420
Yun. So, siguro let's have a lunch. Tapos balik po tayo ng
02:00:16.000 --> 02:00:17.600
1 p.m. Okay po?
02:00:29.200 --> 02:00:32.080
So, you want more 10 minutes to test the code?
02:00:37.180 --> 02:00:37.880
Okay.
02:00:38.300 --> 02:00:40.660
Okay. So, let's back at 1 p.m. Okay?
02:00:41.220 --> 02:00:45.220
Thank you sir Miguel.
02:01:02.080 --> 02:01:03.300
Kasi ayosin na.
02:01:08.680 --> 02:01:12.020
Hindi ba? Ano ba nalawin bukod kailangan po ng Graphics Card?
02:01:13.820 --> 02:01:16.560
Yakan naman. Natalag natalag ang anay-anay.
02:01:17.140 --> 02:01:18.320
Natalag mo nga ako ng ano.
02:01:18.900 --> 02:01:23.820
Pwede ako ng Graphics Card.
02:01:32.080 --> 02:01:32.620
Okay.
02:01:33.400 --> 02:01:34.380
Okay.
02:01:36.560 --> 02:01:37.540
Okay.
02:01:40.800 --> 02:01:41.780
Okay.
02:01:41.880 --> 02:01:42.320
Okay.
02:01:42.400 --> 02:01:42.540
Okay.
02:01:42.840 --> 02:01:42.920
Okay.
02:01:47.580 --> 02:01:48.000
Okay.
02:02:08.000 --> 02:02:08.240
Okay.
02:02:38.240 --> 02:02:38.320
Okay.
02:02:40.340 --> 02:02:41.740
Okay.
02:02:43.900 --> 02:02:45.300
Okay.
02:02:56.080 --> 02:02:57.480
Okay.
02:03:04.020 --> 02:03:05.420
Okay.
02:03:05.420 --> 02:03:06.240
Okay.
02:03:06.560 --> 02:03:07.960
Okay.
02:03:10.080 --> 02:03:10.300
Okay.
02:03:10.780 --> 02:03:12.380
Okay.
02:03:15.780 --> 02:03:15.860
Okay.
02:03:17.520 --> 02:03:18.920
Okay.
02:03:19.080 --> 02:03:20.480
Okay.
02:03:20.800 --> 02:03:22.200
Okay.
02:03:22.200 --> 02:03:22.280
Okay.
02:03:26.260 --> 02:03:27.660
Okay.
02:03:28.940 --> 02:03:30.340
Okay.
02:03:31.020 --> 02:03:32.420
Okay.
02:03:32.420 --> 02:03:32.480
Okay.
02:03:36.480 --> 02:03:37.880
Okay.
02:03:39.240 --> 02:03:40.640
Okay.
02:03:42.100 --> 02:03:43.500
Okay.
02:03:43.500 --> 02:03:43.580
Okay.
02:03:49.860 --> 02:03:50.340
Okay.
02:03:50.360 --> 02:03:50.760
Okay.
02:03:52.720 --> 02:03:53.200
Okay.
02:03:53.200 --> 02:03:53.280
Okay.
02:03:59.940 --> 02:04:00.540
Okay.
02:04:00.540 --> 02:04:00.840
Okay.
02:04:01.540 --> 02:04:02.940
Okay.
02:04:06.700 --> 02:04:08.100
Okay.
02:04:08.100 --> 02:04:08.520
Okay.
02:04:09.120 --> 02:04:10.520
Okay.
02:04:11.420 --> 02:04:12.820
Okay.
02:04:12.820 --> 02:04:13.220
Okay.
02:04:14.580 --> 02:04:15.980
Okay.
02:04:38.280 --> 02:04:39.680
Okay.
02:04:42.940 --> 02:04:44.340
Okay.
02:04:44.340 --> 02:04:44.920
Okay.
02:04:44.920 --> 02:04:45.200
Okay.
02:04:47.060 --> 02:04:48.460
Okay.
02:04:49.440 --> 02:04:50.840
Okay.
02:04:55.840 --> 02:04:56.300
Okay.
02:04:56.300 --> 02:04:57.540
Okay.
02:04:59.340 --> 02:05:00.740
Okay.
02:05:00.860 --> 02:05:02.260
Okay.
02:05:03.020 --> 02:05:04.420
Okay.
02:05:07.380 --> 02:05:08.780
Okay.
02:05:10.780 --> 02:05:12.180
Okay.
02:05:12.180 --> 02:05:12.740
Okay.
02:05:14.040 --> 02:05:15.440
Okay.
02:05:17.940 --> 02:05:19.340
Okay.
02:05:21.200 --> 02:05:22.600
Okay.
02:05:23.520 --> 02:05:24.920
Okay.
02:05:26.680 --> 02:05:28.080
Okay.
02:05:28.520 --> 02:05:29.920
Okay.
02:05:32.300 --> 02:05:33.700
Okay.
02:05:34.980 --> 02:05:36.380
Okay.
02:05:39.220 --> 02:05:40.620
Okay.
02:05:40.620 --> 02:05:40.840
Okay.
02:05:45.640 --> 02:05:46.080
Okay.
02:05:47.120 --> 02:05:47.560
Okay.
02:05:47.560 --> 02:05:47.620
Okay.
02:05:47.620 --> 02:05:48.060
Okay.
02:05:48.060 --> 02:05:48.780
Okay.
02:05:56.480 --> 02:05:57.640
Okay.