Updating pl sql
To make an associative array persistent for the life of a database session, declare the associative array (the type and the variable of that type) in a package, and assign values to its elements in the package body.Globalization Settings Can Affect String Keys of Associative Arrays Associative arrays that are indexed by strings can be affected by globalization settings such as .Example 5-1 declares an associative array that is indexed by a string, populates it, and prints it.DECLARE 2 -- Associative array indexed by string: 3 4 TYPE population IS TABLE OF NUMBER -- Associative array type 5 INDEX BY VARCHAR2(64); 6 7 city_population population; -- Associative array variable 8 i VARCHAR2(64); 9 10 BEGIN 11 -- Add new elements to associative array: 12 13 city_population('Smallville') := 2000; 14 city_population('Midland') := 750000; 15 city_population('Megalopolis') := 1000000; 16 17 -- Change value associated with key 'Smallville': 18 19 city_population('Smallville') := 2001; 20 21 -- Print associative array: 22 23 i := city_population.Oracle has no way of knowing what you mean by updating that column. On this particular one, you'll need the instead-of trigger so that it can tell Oracle what you want to have happen when data is inserted/updated to that column.I don't see any other way around it (short of splitting the virtual column up).That is not possible--you need to instead change the definition of the view.
You can pass composite variables to subprograms as a parameters.It does not matter what columns you try to update - you'll get an error.A view is just a stored query -- when you update through it, it's the underlying tables that must be modified.Your view contains a virtual column Actor_Full Name, which is a concatenation of two other real columns.You can only update views that meet certain criteria, or have an associated INSTEAD OF trigger. You are trying to update a view like you would a table.