blog.mclaughlinsoftware.comMacLochlainns Weblog

blog.mclaughlinsoftware.com Profile

Blog.mclaughlinsoftware.com is a subdomain of mclaughlinsoftware.com, which was created on 2008-06-24,making it 16 years ago.

Description:Michael McLaughlin's Technical...

Discover blog.mclaughlinsoftware.com website stats, rating, details and status online.Use our online tools to find owner and admin contact info. Find out where is server located.Read and write reviews or vote to improve it ranking. Check alliedvsaxis duplicates with related css, domain relations, most used words, social networks references. Go to regular site

blog.mclaughlinsoftware.com Information

HomePage size: 711.197 KB
Page Load Time: 0.528025 Seconds
Website IP Address: 67.20.114.55

blog.mclaughlinsoftware.com Similar Website

Roughneck Health - Wonecks.net Blogs
burksr1.wonecks.net
Story Studio – Ourmidland.com - Just another weblog
storystudio.ourmidland.com
blog.fourhares.com – 4-hares sisu weblog…
blog.fourhares.com
Agricultural Biodiversity Weblog – Agrobiodiversity is crops, livestock, foodways, microbes, pollina
agro.biodiver.se
Scott's Weblog - Scott's Weblog - The weblog of an IT pro focusing on cloud computing, Kubernetes, L
blog.scottlowe.org
breves-de-bievres » Just another WordPress weblog
host.breves-de-bievres.fr
Covenant – A weblog of The Living Church
covenant.livingchurch.org
Weblog - Indoff Conductive and static dissipative products
esdproducts.indoff.com
A developer weblog | Knowledge fixed in a web log
massimo.2dinformatica.info
Erik's Weblog
erik.thauvin.net
Edublogs @ Macomb ISD | Just another weblog
edublogs.misd.net
The Snapper – Just another weblog
thesnapper.millersville.edu
Google Weblog
google.blogspace.com

blog.mclaughlinsoftware.com PopUrls

MacLochlainns Weblog
https://blog.mclaughlinsoftware.com/
Archives for 2021 | MacLochlainns Weblog
https://blog.mclaughlinsoftware.com/2021/
SQL*Plus Tutorial on the Command-Line Interface (CLI)
https://blog.mclaughlinsoftware.com/2021/05/25/sqlplus-tutorial/
Archives for December 2021 | MacLochlainns Weblog
https://blog.mclaughlinsoftware.com/2021/12/
Database Design | MacLochlainns Weblog
https://blog.mclaughlinsoftware.com/category/database-design/
SQL Tutorial - MacLochlainns Weblog
https://blog.mclaughlinsoftware.com/sql-tutorial/
Data | MacLochlainns Weblog
https://blog.mclaughlinsoftware.com/category/data/
Archives for October 2021 | MacLochlainns Weblog
https://blog.mclaughlinsoftware.com/2021/10/
Is SQL a Programming Language? - MacLochlainns Weblog
https://blog.mclaughlinsoftware.com/2022/06/12/sql-programming/
Archives for April 2022 | MacLochlainns Weblog
https://blog.mclaughlinsoftware.com/2022/04/

blog.mclaughlinsoftware.com Httpheader

Date: Sat, 11 May 2024 23:00:16 GMT
Server: nginx/1.21.6
Content-Type: text/html; charset=UTF-8
Link: https://blog.mclaughlinsoftware.com/wp-json/; rel="https://api.w.org/", http://wp.me/myxC; rel=shortlink
Content-Security-Policy: upgrade-insecure-requests
Vary: Accept-Encoding
X-Server-Cache: true
X-Proxy-Cache: EXPIRED
Transfer-Encoding: chunked

blog.mclaughlinsoftware.com Ip Information

Ip Country: United States
Latitude: 37.751
Longitude: -97.822

blog.mclaughlinsoftware.com Html To Plain Text

Michael McLaughlin's Technical Blog User Name: Password: Site Admin Updating Nested ADTs without comments The first part of this series showed how you can leverage Oracle’s SQL syntax with UDT columns and collection columns. It would be nice if Oracle gave you some SQL to work with the elements of ADT collections, but they don’t. After all, that’s why you have this article. While you could change the setup of the prior example table, it’s easier to create a new customer table. The new customer table drops the address column. There’s also a new pizza table. The pizza table includes an ingredient ADT collection column, which by design holds a unique set of ingredients for each pizza. Realistically, ADT collections of numbers, characters, and dates have little value by themselves. That’s because those data types typically don’t have much meaning. A set of unique strings can be useful for certain use cases. You create the list ADT type with this syntax: SQLCREATE OR REPLACE 2 TYPE list IS TABLE OF VARCHAR2 ( 20 ) ; 3 / SQL CREATE OR REPLACE 2 TYPE list IS TABLE OF VARCHAR2(20); 3 / You create the customer and pizza tables, and customer_s and pizza_s sequences with the following syntax: SQLCREATE TABLE customer 2 ( customer_id NUMBER 3 , first_name VARCHAR2 ( 20 ) 4 , last_name VARCHAR2 ( 20 ) 5 , CONSTRAINT pk_customer PRIMARY KEY ( customer_id ) ) ; SQLCREATE SEQUENCE customer_s; SQLCREATE TABLE pizza 2 ( pizza_id NUMBER 3 , customer_id NUMBER 4 , pizza_size VARCHAR2 ( 10 ) 5 , ingredients LIST 6 , CONSTRAINT pk_pizza PRIMARY KEY ( pizza_id ) 7 , CONSTRAINT ck_pizza_size 8 CHECK ( pizza_size IN ( 'Mini' , 'Small' , 'Medium' , 'Large' , 'Very Large' ) ) ) 9 NESTED TABLE ingredients STORE AS ingredient_table; SQLCREATE SEQUENCE pizza_s; SQL CREATE TABLE customer 2 ( customer_id NUMBER 3 , first_name VARCHAR2(20) 4 , last_name VARCHAR2(20) 5 , CONSTRAINT pk_customer PRIMARY KEY (customer_id)); SQL CREATE SEQUENCE customer_s; SQL CREATE TABLE pizza 2 ( pizza_id NUMBER 3 , customer_id NUMBER 4 , pizza_size VARCHAR2(10) 5 , ingredients LIST 6 , CONSTRAINT pk_pizza PRIMARY KEY (pizza_id) 7 , CONSTRAINT ck_pizza_size 8 CHECK (pizza_size IN ('Mini','Small','Medium','Large','Very Large'))) 9 NESTED TABLE ingredients STORE AS ingredient_table; SQL CREATE SEQUENCE pizza_s; The customer table only has scalar columns. The pizza table has the ingredient ADT collection column. Line 9 creates a nested ingredient_table for the ingredient ADT collection column. There is a primary and foreign key relationship between the customer and pizza tables. That relationship between the tables requires that you insert rows into the customer table before you insert rows into the pizza table. The sample script populates the customer table with characters from the Green Arrow television show, as follows: Customer ID # Last Name First Name1 Queen Oliver 2 Queen Thea 3 Queen Moira 4 Lance Dinah 5 Lance Quentin 6 Diggle John 7 Wilson Slade Customer ID # Last Name First Name1 Queen Oliver 2 Queen Thea 3 Queen Moira 4 Lance Dinah 5 Lance Quentin 6 Diggle John 7 Wilson Slade Next, you can insert three rows into the pizza table. Each has different ingredients in the ingredient ADT column. The following is the syntax for the INSERT statements: SQLINSERT INTO pizza 2 VALUES 3 ( pizza_s. NEXTVAL 4 , ( SELECT c.customer_id FROM customer c 5 WHERE c.first_name = 'Quentin' AND c.last_name = 'Lance' ) 6 , 'Large' 7 , list ( 'Cheese' , 'Marinara Sauce' , 'Sausage' , 'Salami' ) ) ; SQLINSERT INTO pizza 2 VALUES 3 ( pizza_s. NEXTVAL 4 , ( SELECT c.customer_id FROM customer c 5 WHERE c.first_name = 'Thea' AND c.last_name = 'Queen' ) 6 , 'Medium' 7 , list ( 'Cheese' , 'Marinara Sauce' , 'Canadian Bacon' , 'Pineapple' ) ) ; SQLINSERT INTO pizza 2 VALUES 3 ( pizza_s. NEXTVAL 4 , ( SELECT c.customer_id FROM customer c 5 WHERE c.first_name = 'John' AND c.last_name = 'Diggle' ) 6 , 'Small' 7 , list ( 'Cheese' , 'BBQ Sauce' , 'Chicken' ) ) ; SQL INSERT INTO pizza 2 VALUES 3 ( pizza_s.nextval 4 ,(SELECT c.customer_id FROM customer c 5 WHERE c.first_name = 'Quentin' AND c.last_name = 'Lance') 6 ,'Large' 7 , list('Cheese','Marinara Sauce','Sausage','Salami')); SQL INSERT INTO pizza 2 VALUES 3 ( pizza_s.nextval 4 ,(SELECT c.customer_id FROM customer c 5 WHERE c.first_name = 'Thea' AND c.last_name = 'Queen') 6 ,'Medium' 7 , list('Cheese','Marinara Sauce','Canadian Bacon','Pineapple')); SQL INSERT INTO pizza 2 VALUES 3 ( pizza_s.nextval 4 ,(SELECT c.customer_id FROM customer c 5 WHERE c.first_name = 'John' AND c.last_name = 'Diggle') 6 ,'Small' 7 , list('Cheese','BBQ Sauce','Chicken')); Querying results from tables with nested ADT columns provides interesting results. An ordinary query, like this: SQLCOL pizza_id FORMAT 99999 HEADING "Pizza|ID #" SQLCOL pizza_size FORMAT A6 HEADING "Pizza|Size" SQLCOL ingredients FORMAT A64 HEADING "Ingredients" SQLSELECT pizza_id 2 , pizza_size 3 , ingredients 4 FROM pizza; SQL COL pizza_id FORMAT 99999 HEADING "Pizza|ID #" SQL COL pizza_size FORMAT A6 HEADING "Pizza|Size" SQL COL ingredients FORMAT A64 HEADING "Ingredients" SQL SELECT pizza_id 2 , pizza_size 3 , ingredients 4 FROM pizza; … returns the following results with a flattened object type: Pizza Pizza ID # Size Ingredients1 Large LIST('Cheese', 'Marinara Sauce', 'Sausage', 'Salami') 2 Medium LIST('Cheese', 'Marinara Sauce', 'Canadian Bacon', 'Pineapple') 3 Small LIST('Cheese', 'BBQ Sauce', 'Chicken') Pizza Pizza ID # Size Ingredients1 Large LIST('Cheese', 'Marinara Sauce', 'Sausage', 'Salami') 2 Medium LIST('Cheese', 'Marinara Sauce', 'Canadian Bacon', 'Pineapple') 3 Small LIST('Cheese', 'BBQ Sauce', 'Chicken') If you use a CROSS JOIN it multiplies each row times the number of items in the ADT collection column. The multiplication hides the results. The best solution for displaying results from an ADT collection requires that you serialize the results. The following serialize_set PL/SQL function creates a serialized comma separated list: SQLCREATE OR REPLACE 2 FUNCTION serialize_set ( pv_list LIST ) RETURN VARCHAR2 IS 3 /* Declare a return string as large as you need. */ 4 lv_comma_string VARCHAR2 ( 60 ) ; 5 BEGIN 6 /* Read list of values and serialize them in a string. */ 7 FOR i IN 1 ..pv_list. COUNT LOOP 8 IF NOT i = pv_list. COUNT THEN 9 lv_comma_string : = lv_comma_string || pv_list ( i ) || ', ' ; 10 ELSE 11 lv_comma_string : = lv_comma_string || pv_list ( i ) ; 12 END IF ; 13 END LOOP ; 14 RETURN lv_comma_string; 15 END serialize_set; SQL CREATE OR REPLACE 2 FUNCTION serialize_set (pv_list LIST) RETURN VARCHAR2 IS 3 /* Declare a return string as large as you need. */ 4 lv_comma_string VARCHAR2(60); 5 BEGIN 6 /* Read list of values and serialize them in a string. */ 7 FOR i IN 1..pv_list.COUNT LOOP 8 IF NOT i = pv_list.COUNT THEN 9 lv_comma_string := lv_comma_string || pv_list(i) || ', '; 10 ELSE 11 lv_comma_string := lv_comma_string || pv_list(i); 12 END IF; 13 END LOOP; 14 RETURN lv_comma_string; 15 END serialize_set; You can now write a query that uses your PL/SQL function to format the ADT collection column values into a single row. The syntax for the query is: SQLSELECT pizza_id 2 , pizza_size 3 , serialize_set ( ingredients ) AS ingredients 4 FROM pizza; SQL SELECT pizza_id 2 , pizza_size 3 , serialize_set(ingredients) AS ingredients 4 FROM pizza; It returns: Pizza Pizza ID # Size Ingredients - 1 Large Cheese, Marinara Sauce, Sausage, Salami 2 Medium Cheese, Marinara Sauce, Canadian Bacon, Pineapple 3 Small Cheese, BBQ Sauce, Chicken Pizza Pizza ID # Size...

blog.mclaughlinsoftware.com Whois

Domain Name: MCLAUGHLINSOFTWARE.COM Registry Domain ID: 1500707899_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.fastdomain.com Registrar URL: http://www.fastdomain.com Updated Date: 2023-06-09T05:04:41Z Creation Date: 2008-06-24T05:04:23Z Registry Expiry Date: 2024-06-24T05:04:23Z Registrar: FastDomain Inc. Registrar IANA ID: 1154 Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited Name Server: NS1.HOSTMONSTER.COM Name Server: NS2.HOSTMONSTER.COM DNSSEC: unsigned >>> Last update of whois database: 2024-05-17T14:16:44Z <<<