14 videos 📅 2024-12-10 08:00:00 Asia/Brunei
12:04
2024-12-10 13:02:57
6:53
2024-12-10 13:18:23
3:49:58
2024-12-10 13:29:28
9:46
2024-12-11 07:45:15
5:40:21
2024-12-11 09:08:49
5:22
2024-12-11 17:54:14
1:42
2024-12-11 18:04:44
2:05:58
2024-12-12 09:00:08
1:01:06
2024-12-12 12:26:38
3:59
2024-12-12 15:09:36
51:24
2024-12-12 15:24:00
8:06
2024-12-12 16:34:52
2:35
2024-12-12 17:17:14
3:05
2024-12-12 17:26:54

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.