PostgreSQL Functions By Example
|
|
|
- Shawn Stewart
- 10 years ago
- Views:
Transcription
1 Postgre credativ Group January 20, 2012
2 What are Functions? Introduction Uses Varieties Languages Full fledged SQL objects Many other database objects are implemented with them Fundamental part of PostgreSQL s system architecture Created with CREATE FUNCTION Executed through normal SQL target-list: SELECT myfunc(f1) FROM foo; FROM clause: SELECT * FROM myfunc(); WHERE clause: SELECT * FROM foo WHERE myfunc(f1) = 42;
3 How are they Used? Introduction Uses Varieties Languages Functions Operators Data types Index methods Casts Triggers Aggregates
4 What Forms Can They Take? Introduction Uses Varieties Languages PostgreSQL provides four kinds of functions: SQL Procedural Languages Internal C-language Arguments Base, composite, or combinations Scalar or array Pseudo or polymorphic VARIADIC IN/OUT/INOUT Return Singleton or set (SETOF) Base or composite type Pseudo or polymorphic
5 Introduction Uses Varieties Languages Behavior Executes an arbitrary list of SQL statements separated by semicolons Last statement may be INSERT, UPDATE, or DELETE with RETURNING clause Arguments Referenced by function body using $n: $1 is first arg, etc... If composite type, then dot notation $1.name used to access Only used as data values, not as identifiers Return If singleton, first row of last query result returned, NULL on no result If SETOF, all rows of last query result returned, empty set on no result
6 Procedural Languages Introduction Uses Varieties Languages User-defined functions Written in languages besides SQL and C Task is passed to a special handler that knows the details of the language Handler could be self-contained (e.g. PL/pgSQL) Handler could be dynamically loaded (e.g. PL/Perl)
7 Internal Functions Introduction Uses Varieties Languages Statically linked C functions Could use CREATE FUNCTION to create additional alias names for an internal function Most internal functions expect to be declared STRICT CREATE FUNCTION square_root(double precision) RETURNS double precision AS dsqrt LANGUAGE internal STRICT;
8 C Language Functions Introduction Uses Varieties Languages User-defined functions written in C Compiled into dynamically loadable objects (also called shared libraries) Loaded by the server on demand contrib is good source of examples Same as internal function coding conventions Require PG MODULE MAGIC call Needs separate topic
9 Language Availability Introduction Uses Varieties Languages PostgreSQL includes the following server-side procedural languages: PL/pgSQL Perl Python Tcl Other languages available: Java PHP Ruby R Shell others...
10 Creating New Functions Creation Attributes CREATE [ OR REPLACE ] FUNCTION name ( [ [ argmode ] [ argname ] argtype [ { DEFAULT = } defexpr ] [,...] [ RETURNS rettype RETURNS TABLE ( colname coltype [,...] ) ] { LANGUAGE langname WINDOW IMMUTABLE STABLE VOLATILE CALLED ON NULL INPUT RETURNS NULL ON NULL INPUT STRICT [ EXTERNAL ] SECURITY INVOKER [ EXTERNAL ] SECURITY DEFINER COST execution_cost ROWS result_rows SET configuration_parameter { TO value = value FROM CURRENT } AS definition AS obj_file, link_symbol }... [ WITH ( attribute [,...] ) ]
11 Dollar Quoting Creation Attributes Works for all character strings Particularly useful for function bodies CREATE OR REPLACE FUNCTION dummy () RETURNS text AS $Q$ DECLARE result text; BEGIN PERFORM SELECT 1+1 ; RETURN ok ; END; $Q$ LANGUAGE plpgsql;
12 Function Overloading Creation Attributes IN argument signature used Avoid ambiguities: Type (e.g. REAL vs. DOUBLE PRECISION) Function name same as IN composite field name VARIADIC vs same type scalar CREATE OR REPLACE FUNCTION foo (text) RETURNS text AS $$ SELECT $1 $$ LANGUAGE sql; CREATE OR REPLACE FUNCTION foo (int) RETURNS text AS $$ SELECT ($1 + 1)::text $$ LANGUAGE sql; SELECT foo( 42 ), foo(41); foo foo
13 Changing Existing Functions Creation Attributes Once created, dependent objects may be created Must do DROP FUNCTION... CASCADE to recreate Or use OR REPLACE to avoid dropping dependent objects Very useful for large dependency tree Can t be used in some circumstances (must drop/recreate instead). You cannot: change function name or argument types change return type change types of any OUT parameters CREATE OR REPLACE FUNCTION...;
14 Volatility Creation Attributes VOLATILE (default) Each call can return a different result Example: random() or timeofday() Functions modifying table contents must be declared volatile STABLE Returns same result for same arguments within single query Example: now() Consider configuration settings that affect output IMMUTABLE Always returns the same result for the same arguments Example: lower( ABC ) Unaffected by configuration settings Not dependent on table contents select lower( ABC ), now(), timeofday() from generate_series(1,3);
15 Behavior with Null Input Values Creation Attributes CALLED ON NULL INPUT (default) Function called normally with the null input values RETURNS NULL ON NULL INPUT Function not called when null input values are present Instead, null is returned automatically CREATE FUNCTION sum1 (int, int) RETURNS int AS $$ SELECT $1 + $2 $$ LANGUAGE SQL RETURNS NULL ON NULL INPUT; CREATE FUNCTION sum2 (int, int) RETURNS int AS $$ SELECT COALESCE($1, 0) + COALESCE($2, 0) $$ LANGUAGE SQL CALLED ON NULL INPUT; SELECT sum1(9, NULL) IS NULL AS "true", sum2(9, NULL); true sum t 9
16 Security Attributes Creation Attributes SECURITY INVOKER (default) Function executed with the rights of the current user SECURITY DEFINER Executed with rights of creator, like setuid CREATE TABLE foo (f1 int); REVOKE ALL ON foo FROM public; CREATE FUNCTION see_foo() RETURNS SETOF foo AS $$ SELECT * FROM foo $$ LANGUAGE SQL SECURITY DEFINER; \c - guest You are now connected to database "postgres" as user "guest". SELECT * FROM foo; ERROR: permission denied for relation foo SELECT * FROM see_foo(); f (0 rows)
17 Simple PL/pg CREATE FUNCTION sum (text, text) RETURNS text AS $$ SELECT $1 $2 $$ LANGUAGE SQL; SELECT sum( hello, world ); sum hello world
18 Custom Operator PL/pg CREATE OPERATOR + ( procedure = sum, leftarg = text, rightarg = text ); SELECT hello + world ;?column? hello world
19 Custom Aggregate PL/pg CREATE OR REPLACE FUNCTION concat_ws_comma(text, ANYELEMENT) RETURNS text AS $$ SELECT concat_ws(,, $1, $2) $$ LANGUAGE sql; CREATE AGGREGATE str_agg (ANYELEMENT) ( sfunc = concat_ws_comma, stype = text); SELECT str_agg(f1) FROM foo; str_agg ,42
20 SETOF with OUT Arguments PL/pg CREATE OR REPLACE FUNCTION sql_with_rows(out a int, OUT b text) RETURNS SETOF RECORD AS $$ values (1, a ),(2, b ) $$ LANGUAGE SQL; select * from sql_with_rows(); a b a 2 b (2 rows)
21 INSERT RETURNING PL/pg CREATE TABLE foo (f0 serial, f1 int, f2 text); CREATE OR REPLACE FUNCTION sql_insert_returning(inout f1 int, INOUT f2 text, OUT id int) AS $$ INSERT INTO foo(f1, f2) VALUES ($1,$2) RETURNING f1, f2, f0 $$ LANGUAGE SQL; SELECT * FROM sql_insert_returning(1, a ); f1 f2 id a 1
22 Composite Argument PL/pg CREATE TABLE emp (name salary age cubicle text, numeric, integer, point); CREATE FUNCTION double_salary(emp) RETURNS numeric AS $$ SELECT $1.salary * 2 AS salary; $$ LANGUAGE SQL; SELECT name, double_salary(emp.*) AS dream FROM emp WHERE emp.cubicle ~= point (2,1) ; SELECT name, double_salary(row(name, salary*1.1, age, cubicle)) AS dream FROM emp;
23 Polymorphic PL/pg CREATE FUNCTION myappend(anyarray, anyelement) RETURNS anyarray AS $$ SELECT $1 $2; $$ LANGUAGE SQL; SELECT myappend(array[42,6], 21), myappend(array[ abc, def ], xyz ); myappend myappend {42,6,21} {abc,def,xyz}
24 Target List versus FROM Clause PL/pg CREATE FUNCTION new_emp() RETURNS emp AS $$ SELECT ROW( None, , 25, (2,2) )::emp; $$ LANGUAGE SQL; SELECT new_emp(); new_emp (None,1000.0,25,"(2,2)") SELECT * FROM new_emp(); name salary age cubicle None (2,2) SELECT (new_emp()).name; name None
25 VARIADIC PL/pg CREATE FUNCTION mleast(variadic numeric[]) RETURNS numeric AS $$ SELECT min($1[i]) FROM generate_subscripts($1, 1) g(i); $$ LANGUAGE SQL; SELECT mleast(10, -1, 5, 4.4); mleast SELECT mleast(42, 6, 42.42); mleast
26 DEFAULT Arguments PL/pg CREATE FUNCTION foo(a int, b int DEFAULT 2, c int DEFAULT 3) RETURNS int LANGUAGE SQL AS $$SELECT $1 + $2 + $3$$; SELECT foo(10, 20, 30); foo SELECT foo(10, 20); foo
27 PL/pgSQL PL/pg PL/pgSQL is SQL plus procedural elements variables if/then/else loops cursors error checking Loading the language handler into a database: createlang plpgsql dbname
28 Simple PL/pg CREATE OR REPLACE FUNCTION sum (text, text) RETURNS text AS $$ BEGIN RETURN $1 $2; END; $$ LANGUAGE plpgsql; SELECT sum( hello, world ); sum hello world
29 Parameter ALIAS PL/pg CREATE OR REPLACE FUNCTION sum (int, int) RETURNS int AS $$ DECLARE i ALIAS FOR $1; j ALIAS FOR $2; sum int; BEGIN sum := i + j; RETURN sum; END; $$ LANGUAGE plpgsql; SELECT sum(41, 1); sum
30 Named Parameters PL/pg CREATE OR REPLACE FUNCTION sum (i int, j int) RETURNS int AS $$ DECLARE sum int; BEGIN sum := i + j; RETURN sum; END; $$ LANGUAGE plpgsql; SELECT sum(41, 1); sum
31 Control Structures: IF... PL/pg CREATE OR REPLACE FUNCTION even (i int) RETURNS boolean AS $$ DECLARE tmp int; BEGIN tmp := i % 2; IF tmp = 0 THEN RETURN true; ELSE RETURN false; END IF; END; $$ LANGUAGE plpgsql; SELECT even(3), even(42); even even f t
32 Control Structures: FOR... LOOP PL/pg CREATE OR REPLACE FUNCTION factorial (i numeric) RETURNS numeric AS $$ DECLARE tmp numeric; result numeric; BEGIN result := 1; FOR tmp IN 1.. i LOOP result := result * tmp; END LOOP; RETURN result; END; $$ LANGUAGE plpgsql; SELECT factorial(42::numeric); factorial
33 PL/pg Control Structures: WHILE... LOOP CREATE OR REPLACE FUNCTION factorial (i numeric) RETURNS numeric AS $$ DECLARE tmp numeric; result numeric; BEGIN result := 1; tmp := 1; WHILE tmp <= i LOOP result := result * tmp; tmp := tmp + 1; END LOOP; RETURN result; END; $$ LANGUAGE plpgsql; SELECT factorial(42::numeric); factorial
34 Recursive PL/pg CREATE OR REPLACE FUNCTION factorial (i numeric) RETURNS numeric AS $$ BEGIN IF i = 0 THEN RETURN 1; ELSIF i = 1 THEN RETURN 1; ELSE RETURN i * factorial(i - 1); END IF; END; $$ LANGUAGE plpgsql; SELECT factorial(42::numeric); factorial
35 Record types PL/pg CREATE OR REPLACE FUNCTION format () RETURNS text AS $$ DECLARE tmp RECORD; BEGIN SELECT INTO tmp AS a, AS b; RETURN a = tmp.a ; b = tmp.b; END; $$ LANGUAGE plpgsql; select format(); format a = 2; b = 4
36 PERFORM PL/pg CREATE OR REPLACE FUNCTION func_w_side_fx() RETURNS void AS $$ INSERT INTO foo VALUES (41),(42) $$ LANGUAGE sql; CREATE OR REPLACE FUNCTION dummy () RETURNS text AS $$ BEGIN PERFORM func_w_side_fx(); RETURN OK ; END; $$ LANGUAGE plpgsql; SELECT dummy(); SELECT * FROM foo; f (2 rows)
37 Dynamic SQL PL/pg CREATE OR REPLACE FUNCTION get_foo(i int) RETURNS foo AS $$ DECLARE rec RECORD; BEGIN EXECUTE SELECT * FROM foo WHERE f1 = i INTO rec; RETURN rec; END; $$ LANGUAGE plpgsql; SELECT * FROM get_foo(42); f
38 Cursors PL/pg CREATE OR REPLACE FUNCTION totalbalance() RETURNS numeric AS $$ DECLARE tmp RECORD; result numeric; BEGIN result := 0.00; FOR tmp IN SELECT * FROM foo LOOP result := result + tmp.f1; END LOOP; RETURN result; END; $$ LANGUAGE plpgsql; SELECT totalbalance(); totalbalance
39 Error Handling PL/pg CREATE OR REPLACE FUNCTION safe_add(a integer, b integer) RETURNS integer AS $$ BEGIN RETURN a + b; EXCEPTION WHEN numeric_value_out_of_range THEN -- do some important stuff RETURN -1; WHEN OTHERS THEN -- do some other important stuff RETURN -1; END; $$ LANGUAGE plpgsql;
40 Nested Exception Blocks PL/pg CREATE FUNCTION merge_db(key integer, data text) RETURNS void AS $$ BEGIN LOOP UPDATE db SET b = data WHERE a = key; IF found THEN RETURN; END IF; BEGIN INSERT INTO db (a, b) VALUES (key, data); RETURN; EXCEPTION WHEN unique_violation THEN -- do nothing END; END LOOP; EXCEPTION WHEN OTHERS THEN -- do something else END; $$ LANGUAGE plpgsql;
41 Thank You PL/pg Questions?
Advanced PostgreSQL SQL Injection and Filter Bypass Techniques
Advanced PostgreSQL SQL Injection and Filter Bypass Techniques INFIGO-TD TD-200 2009-04 2009-06 06-17 Leon Juranić [email protected] INFIGO IS. All rights reserved. This document contains information
Chapter 39. PL/pgSQL - SQL Procedural Language
Chapter 39. PL/pgSQL - SQL Procedural Language 39.1. Overview PL/pgSQL is a loadable procedural language for the PostgreSQL database system. The design goals of PL/pgSQL were to create a loadable procedural
Programming Database lectures for mathema
Programming Database lectures for mathematics students April 25, 2015 Functions Functions are defined in Postgres with CREATE FUNCTION name(parameter type,...) RETURNS result-type AS $$ function-body $$
PL/SQL Overview. Basic Structure and Syntax of PL/SQL
PL/SQL Overview PL/SQL is Procedural Language extension to SQL. It is loosely based on Ada (a variant of Pascal developed for the US Dept of Defense). PL/SQL was first released in ١٩٩٢ as an optional extension
ORACLE 9I / 10G / 11G / PL/SQL COURSE CONTENT
ORACLE 9I / 10G / 11G / PL/SQL COURSE CONTENT INTRODUCTION: Course Objectives I-2 About PL/SQL I-3 PL/SQL Environment I-4 Benefits of PL/SQL I-5 Benefits of Subprograms I-10 Invoking Stored Procedures
Database Management System Choices. Introduction To Database Systems CSE 373 Spring 2013
Database Management System Choices Introduction To Database Systems CSE 373 Spring 2013 Outline Introduction PostgreSQL MySQL Microsoft SQL Server Choosing A DBMS NoSQL Introduction There a lot of options
Oracle Database: SQL and PL/SQL Fundamentals
Oracle University Contact Us: 1.800.529.0165 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This course is designed to deliver the fundamentals of SQL and PL/SQL along
Database Programming with PL/SQL: Learning Objectives
Database Programming with PL/SQL: Learning Objectives This course covers PL/SQL, a procedural language extension to SQL. Through an innovative project-based approach, students learn procedural logic constructs
Moving from CS 61A Scheme to CS 61B Java
Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you
SQL Server. 2012 for developers. murach's TRAINING & REFERENCE. Bryan Syverson. Mike Murach & Associates, Inc. Joel Murach
TRAINING & REFERENCE murach's SQL Server 2012 for developers Bryan Syverson Joel Murach Mike Murach & Associates, Inc. 4340 N. Knoll Ave. Fresno, CA 93722 www.murach.com [email protected] Expanded
Oracle Database: SQL and PL/SQL Fundamentals NEW
Oracle University Contact Us: + 38516306373 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training delivers the
Programming in postgresql with PL/pgSQL. Procedural Language extension to postgresql
Programming in postgresql with PL/pgSQL Procedural Language extension to postgresql 1 Why a Programming Language? Some calculations cannot be made within a query (examples?) Two options: Write a program
Programming the SQL Way with Common Table Expressions
Programming the SQL Way with Common Table Expressions BRUCE MOMJIAN Common Table Expressions (CTEs allow queries to be more imperative, allowing looping and processing hierarchical structures that are
Instant SQL Programming
Instant SQL Programming Joe Celko Wrox Press Ltd. INSTANT Table of Contents Introduction 1 What Can SQL Do for Me? 2 Who Should Use This Book? 2 How To Use This Book 3 What You Should Know 3 Conventions
The C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
KITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php [email protected] [email protected] Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
Oracle Database: SQL and PL/SQL Fundamentals
Oracle University Contact Us: +966 12 739 894 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training is designed to
Maintaining Stored Procedures in Database Application
Maintaining Stored Procedures in Database Application Santosh Kakade 1, Rohan Thakare 2, Bhushan Sapare 3, Dr. B.B. Meshram 4 Computer Department VJTI, Mumbai 1,2,3. Head of Computer Department VJTI, Mumbai
Java EE Web Development Course Program
Java EE Web Development Course Program Part I Introduction to Programming 1. Introduction to programming. Compilers, interpreters, virtual machines. Primitive types, variables, basic operators, expressions,
Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff
D80198GC10 Oracle Database 12c SQL and Fundamentals Summary Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff Level Professional Delivery Method Instructor-led
Web development... the server side (of the force)
Web development... the server side (of the force) Fabien POULARD Document under license Creative Commons Attribution Share Alike 2.5 http://www.creativecommons.org/learnmore Web development... the server
D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:
D61830GC30 for Developers Summary Duration Vendor Audience 5 Days Oracle Database Administrators, Developers, Web Administrators Level Technology Professional Oracle 5.6 Delivery Method Instructor-led
SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases.
SQL Databases Course by Applied Technology Research Center. 23 September 2015 This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases. Oracle Topics This Oracle Database: SQL
DIPLOMA IN WEBDEVELOPMENT
DIPLOMA IN WEBDEVELOPMENT Prerequisite skills Basic programming knowledge on C Language or Core Java is must. # Module 1 Basics and introduction to HTML Basic HTML training. Different HTML elements, tags
Duration Vendor Audience 5 Days Oracle Developers, Technical Consultants, Database Administrators and System Analysts
D80186GC10 Oracle Database: Program with Summary Duration Vendor Audience 5 Days Oracle Developers, Technical Consultants, Database Administrators and System Analysts Level Professional Technology Oracle
14 Triggers / Embedded SQL
14 Triggers / Embedded SQL COMS20700 Databases Dr. Essam Ghadafi TRIGGERS A trigger is a procedure that is executed automatically whenever a specific event occurs. You can use triggers to enforce constraints
A Brief Introduction to MySQL
A Brief Introduction to MySQL by Derek Schuurman Introduction to Databases A database is a structured collection of logically related data. One common type of database is the relational database, a term
How To Use Postgresql With Foreign Data In A Foreign Server In A Multi Threaded Database (Postgres)
PostgreSQL at the centre of your dataverse! PGBR 2011! Presented by Dave Page! 3 rd November 2011! EnterpriseDB, Postgres Plus and Dynatune are trademarks of EnterpriseDB Corporation. Other names may be
MOC 20461C: Querying Microsoft SQL Server. Course Overview
MOC 20461C: Querying Microsoft SQL Server Course Overview This course provides students with the knowledge and skills to query Microsoft SQL Server. Students will learn about T-SQL querying, SQL Server
PL/SQL Programming Workbook
ORACLG Oracle Press Oracle Database 11 g PL/SQL Programming Workbook TIB/UB Hannover 89 ACKNOWLEDGMENTS INTRODUCTION xvii xix PARTI PL/SQL Fundamentals 1 Oracle Development Overview 3 History and Background
Triggers & Packages. {INSERT [OR] UPDATE [OR] DELETE}: This specifies the DML operation.
Triggers & Packages An SQL trigger is a mechanism that automatically executes a specified PL/SQL block (referred to as the triggered action) when a triggering event occurs on the table. The triggering
Querying Microsoft SQL Server
Course 20461C: Querying Microsoft SQL Server Module 1: Introduction to Microsoft SQL Server 2014 This module introduces the SQL Server platform and major tools. It discusses editions, versions, tools used
Lecture 5: Java Fundamentals III
Lecture 5: Java Fundamentals III School of Science and Technology The University of New England Trimester 2 2015 Lecture 5: Java Fundamentals III - Operators Reading: Finish reading Chapter 2 of the 2nd
Darshan Institute of Engineering & Technology PL_SQL
Explain the advantages of PL/SQL. Advantages of PL/SQL Block structure: PL/SQL consist of block of code, which can be nested within each other. Each block forms a unit of a task or a logical module. PL/SQL
Real SQL Programming 1
Real 1 We have seen only how SQL is used at the generic query interface an environment where we sit at a terminal and ask queries of a database. Reality is almost always different: conventional programs
Facebook Twitter YouTube Google Plus Website Email
PHP MySQL COURSE WITH OOP COURSE COVERS: PHP MySQL OBJECT ORIENTED PROGRAMMING WITH PHP SYLLABUS PHP 1. Writing PHP scripts- Writing PHP scripts, learn about PHP code structure, how to write and execute
Getting Started with the Internet Communications Engine
Getting Started with the Internet Communications Engine David Vriezen April 7, 2014 Contents 1 Introduction 2 2 About Ice 2 2.1 Proxies................................. 2 3 Setting Up ICE 2 4 Slices 2
J a v a Quiz (Unit 3, Test 0 Practice)
Computer Science S-111a: Intensive Introduction to Computer Science Using Java Handout #11 Your Name Teaching Fellow J a v a Quiz (Unit 3, Test 0 Practice) Multiple-choice questions are worth 2 points
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
est: Final Exam Semester 1 Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer. Section 6 1. How can you retrieve the error code and error message of any
Web Development using PHP (WD_PHP) Duration 1.5 months
Duration 1.5 months Our program is a practical knowledge oriented program aimed at learning the techniques of web development using PHP, HTML, CSS & JavaScript. It has some unique features which are as
Example of a Java program
Example of a Java program class SomeNumbers static int square (int x) return x*x; public static void main (String[] args) int n=20; if (args.length > 0) // change default n = Integer.parseInt(args[0]);
MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.
Exam Name MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) The JDK command to compile a class in the file Test.java is A) java Test.java B) java
Intro to Embedded SQL Programming for ILE RPG Developers
Intro to Embedded SQL Programming for ILE RPG Developers Dan Cruikshank DB2 for i Center of Excellence 1 Agenda Reasons for using Embedded SQL Getting started with Embedded SQL Using Host Variables Using
TECHNOLOGY Computer Programming II Grade: 9-12 Standard 2: Technology and Society Interaction
Standard 2: Technology and Society Interaction Technology and Ethics Analyze legal technology issues and formulate solutions and strategies that foster responsible technology usage. 1. Practice responsible
Static vs. Dynamic. Lecture 10: Static Semantics Overview 1. Typical Semantic Errors: Java, C++ Typical Tasks of the Semantic Analyzer
Lecture 10: Static Semantics Overview 1 Lexical analysis Produces tokens Detects & eliminates illegal tokens Parsing Produces trees Detects & eliminates ill-formed parse trees Static semantic analysis
Oracle 11g PL/SQL training
Oracle 11g PL/SQL training Course Highlights This course introduces students to PL/SQL and helps them understand the benefits of this powerful programming language. Students learn to create PL/SQL blocks
AP Computer Science Java Subset
APPENDIX A AP Computer Science Java Subset The AP Java subset is intended to outline the features of Java that may appear on the AP Computer Science A Exam. The AP Java subset is NOT intended as an overall
http://algs4.cs.princeton.edu dictionary find definition word definition book index find relevant pages term list of page numbers
ROBERT SEDGEWICK KEVI WAYE F O U R T H E D I T I O ROBERT SEDGEWICK KEVI WAYE ROBERT SEDGEWICK KEVI WAYE Symbol tables Symbol table applications Key-value pair abstraction. Insert a value with specified.
First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science
First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca
Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.
Test: Final Exam Semester 1 Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer. Section 6 1. The following code does not violate any constraints and will
We will learn the Python programming language. Why? Because it is easy to learn and many people write programs in Python so we can share.
LING115 Lecture Note Session #4 Python (1) 1. Introduction As we have seen in previous sessions, we can use Linux shell commands to do simple text processing. We now know, for example, how to count words.
Course ID#: 1401-801-14-W 35 Hrs. Course Content
Course Content Course Description: This 5-day instructor led course provides students with the technical skills required to write basic Transact- SQL queries for Microsoft SQL Server 2014. This course
Querying Microsoft SQL Server 20461C; 5 days
Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc Querying Microsoft SQL Server 20461C; 5 days Course Description This 5-day
Automation of Library (Codes) Development for Content Management System (CMS)
Automation of Library (Codes) Development for Content Management System (CMS) Mustapha Mutairu Omotosho Department of Computer Science, University Of Ilorin, Ilorin Nigeria Balogun Abdullateef Oluwagbemiga
Chapter 5 Names, Bindings, Type Checking, and Scopes
Chapter 5 Names, Bindings, Type Checking, and Scopes Chapter 5 Topics Introduction Names Variables The Concept of Binding Type Checking Strong Typing Scope Scope and Lifetime Referencing Environments Named
Stored Routines in Transactional Context
SQL Stored Routines Draft 2015-05-12 www.dbtechnet.org Introduction to Procedural Extensions of SQL Stored Routines in Transactional Context Martti Laiho, Fritz Laux and Ilia Petrov Parts of application
The release notes provide details of enhancements and features in Cloudera ODBC Driver for Impala 2.5.30, as well as the version history.
Cloudera ODBC Driver for Impala 2.5.30 The release notes provide details of enhancements and features in Cloudera ODBC Driver for Impala 2.5.30, as well as the version history. The following are highlights
Course -Oracle 10g SQL (Exam Code IZ0-047) Session number Module Topics 1 Retrieving Data Using the SQL SELECT Statement
Course -Oracle 10g SQL (Exam Code IZ0-047) Session number Module Topics 1 Retrieving Data Using the SQL SELECT Statement List the capabilities of SQL SELECT statements Execute a basic SELECT statement
Introducing Microsoft SQL Server 2012 Getting Started with SQL Server Management Studio
Querying Microsoft SQL Server 2012 Microsoft Course 10774 This 5-day instructor led course provides students with the technical skills required to write basic Transact-SQL queries for Microsoft SQL Server
SQL Server Database Coding Standards and Guidelines
SQL Server Database Coding Standards and Guidelines http://www.sqlauthority.com Naming Tables: Stored Procs: Triggers: Indexes: Primary Keys: Foreign Keys: Defaults: Columns: General Rules: Rules: Pascal
Extending HP Vertica. HP Vertica Analytic Database. Software Version: 7.1.x
HP Vertica Analytic Database Software Version: 7.1.x Document Release Date: 12/9/2015 Legal Notices Warranty The only warranties for HP products and services are set forth in the express warranty statements
sqlite driver manual
sqlite driver manual A libdbi driver using the SQLite embedded database engine Markus Hoenicka [email protected] sqlite driver manual: A libdbi driver using the SQLite embedded database engine
JDK 1.5 Updates for Introduction to Java Programming with SUN ONE Studio 4
JDK 1.5 Updates for Introduction to Java Programming with SUN ONE Studio 4 NOTE: SUN ONE Studio is almost identical with NetBeans. NetBeans is open source and can be downloaded from www.netbeans.org. I
CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013
Oct 4, 2013, p 1 Name: CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013 1. (max 18) 4. (max 16) 2. (max 12) 5. (max 12) 3. (max 24) 6. (max 18) Total: (max 100)
Computers. An Introduction to Programming with Python. Programming Languages. Programs and Programming. CCHSG Visit June 2014. Dr.-Ing.
Computers An Introduction to Programming with Python CCHSG Visit June 2014 Dr.-Ing. Norbert Völker Many computing devices are embedded Can you think of computers/ computing devices you may have in your
Programming Language Rankings. Lecture 15: Type Inference, polymorphism & Type Classes. Top Combined. Tiobe Index. CSC 131! Fall, 2014!
Programming Language Rankings Lecture 15: Type Inference, polymorphism & Type Classes CSC 131 Fall, 2014 Kim Bruce Top Combined Tiobe Index 1. JavaScript (+1) 2. Java (-1) 3. PHP 4. C# (+2) 5. Python (-1)
Specialized Programme on Web Application Development using Open Source Tools
Specialized Programme on Web Application Development using Open Source Tools A. NAME OF INSTITUTE Centre For Development of Advanced Computing B. NAME/TITLE OF THE COURSE C. COURSE DATES WITH DURATION
Data Tool Platform SQL Development Tools
Data Tool Platform SQL Development Tools ekapner Contents Setting SQL Development Preferences...5 Execution Plan View Options Preferences...5 General Preferences...5 Label Decorations Preferences...6
Webapps Vulnerability Report
Tuesday, May 1, 2012 Webapps Vulnerability Report Introduction This report provides detailed information of every vulnerability that was found and successfully exploited by CORE Impact Professional during
An Incomplete C++ Primer. University of Wyoming MA 5310
An Incomplete C++ Primer University of Wyoming MA 5310 Professor Craig C. Douglas http://www.mgnet.org/~douglas/classes/na-sc/notes/c++primer.pdf C++ is a legacy programming language, as is other languages
Course Number: IAC-SOFT-WDAD Web Design and Application Development
Course Number: IAC-SOFT-WDAD Web Design and Application Development Session 1 (10 Hours) Client Side Scripting Session 2 (10 Hours) Server Side Scripting - I Session 3 (10 hours) Database Session 4 (10
T-SQL STANDARD ELEMENTS
T-SQL STANDARD ELEMENTS SLIDE Overview Types of commands and statement elements Basic SELECT statements Categories of T-SQL statements Data Manipulation Language (DML*) Statements for querying and modifying
How To Create A Table In Sql 2.5.2.2 (Ahem)
Database Systems Unit 5 Database Implementation: SQL Data Definition Language Learning Goals In this unit you will learn how to transfer a logical data model into a physical database, how to extend or
Getting started with PostgreSQL
Getting started with PostgreSQL Gavin Sherry [email protected] Alcove Systems Engineering January 16, 2007 Gavin Sherry (Alcove) Getting started with PostgreSQL January 16, 2007 1 / 25 Outline 1 SELECT
Course 20461C: Querying Microsoft SQL Server Duration: 35 hours
Course 20461C: Querying Microsoft SQL Server Duration: 35 hours About this Course This course is the foundation for all SQL Server-related disciplines; namely, Database Administration, Database Development
Course Objectives. Database Applications. External applications. Course Objectives Interfacing. Mixing two worlds. Two approaches
Course Objectives Database Applications Design Construction SQL/PSM Embedded SQL JDBC Applications Usage Course Objectives Interfacing When the course is through, you should Know how to connect to and
Oracle Database 10g: Program with PL/SQL
Oracle University Contact Us: Local: 1800 425 8877 Intl: +91 80 4108 4700 Oracle Database 10g: Program with PL/SQL Duration: 5 Days What you will learn This course introduces students to PL/SQL and helps
Querying Microsoft SQL Server 2012
Course 10774A: Querying Microsoft SQL Server 2012 Length: 5 Days Language(s): English Audience(s): IT Professionals Level: 200 Technology: Microsoft SQL Server 2012 Type: Course Delivery Method: Instructor-led
CSC230 Getting Starting in C. Tyler Bletsch
CSC230 Getting Starting in C Tyler Bletsch What is C? The language of UNIX Procedural language (no classes) Low-level access to memory Easy to map to machine language Not much run-time stuff needed Surprisingly
MOC 20461 QUERYING MICROSOFT SQL SERVER
ONE STEP AHEAD. MOC 20461 QUERYING MICROSOFT SQL SERVER Length: 5 days Level: 300 Technology: Microsoft SQL Server Delivery Method: Instructor-led (classroom) COURSE OUTLINE Module 1: Introduction to Microsoft
Guide to SQL Programming: SQL:1999 and Oracle Rdb V7.1
Guide to SQL Programming: SQL:1999 and Oracle Rdb V7.1 A feature of Oracle Rdb By Ian Smith Oracle Rdb Relational Technology Group Oracle Corporation 1 Oracle Rdb Journal SQL:1999 and Oracle Rdb V7.1 The
The software shall provide the necessary tools to allow a user to create a Dashboard based on the queries created.
IWS BI Dashboard Template User Guide Introduction This document describes the features of the Dashboard Template application, and contains a manual the user can follow to use the application, connecting
Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.
Handout 1 CS603 Object-Oriented Programming Fall 15 Page 1 of 11 Handout 1 Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner. Java
Classes and Objects in Java Constructors. In creating objects of the type Fraction, we have used statements similar to the following:
In creating objects of the type, we have used statements similar to the following: f = new (); The parentheses in the expression () makes it look like a method, yet we never created such a method in our
Oracle Database: SQL and PL/SQL Fundamentals NEW
Oracle University Contact Us: 001-855-844-3881 & 001-800-514-06-97 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals
G563 Quantitative Paleontology. SQL databases. An introduction. Department of Geological Sciences Indiana University. (c) 2012, P.
SQL databases An introduction AMP: Apache, mysql, PHP This installations installs the Apache webserver, the PHP scripting language, and the mysql database on your computer: Apache: runs in the background
PART-A Questions. 2. How does an enumerated statement differ from a typedef statement?
1. Distinguish & and && operators. PART-A Questions 2. How does an enumerated statement differ from a typedef statement? 3. What are the various members of a class? 4. Who can access the protected members
Introduction to Java
Introduction to Java The HelloWorld program Primitive data types Assignment and arithmetic operations User input Conditional statements Looping Arrays CSA0011 Matthew Xuereb 2008 1 Java Overview A high
Course 10774A: Querying Microsoft SQL Server 2012
Course 10774A: Querying Microsoft SQL Server 2012 About this Course This 5-day instructor led course provides students with the technical skills required to write basic Transact-SQL queries for Microsoft
Database SQL messages and codes
System i Database SQL messages and codes Version 5 Release 4 System i Database SQL messages and codes Version 5 Release 4 Note Before using this information and the product it supports, read the information
Course 10774A: Querying Microsoft SQL Server 2012 Length: 5 Days Published: May 25, 2012 Language(s): English Audience(s): IT Professionals
Course 10774A: Querying Microsoft SQL Server 2012 Length: 5 Days Published: May 25, 2012 Language(s): English Audience(s): IT Professionals Overview About this Course Level: 200 Technology: Microsoft SQL
not at all a manual simply a quick how-to-do guide
not at all a manual simply a quick how-to-do guide As a general rule, the GUI implemented by spatialite-gis is closely related to the one implemented by the companion app spatialite-gui So, if you are
"SQL Database Professional " module PRINTED MANUAL
"SQL Database Professional " module PRINTED MANUAL "SQL Database Professional " module All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or
Japan Communication India Skill Development Center
Japan Communication India Skill Development Center Java Application System Developer Course Detail Track 2b Java Application Software Developer: Phase1 SQL Overview 70 Introduction Database, DB Server
Embedded SQL programming
Embedded SQL programming http://www-136.ibm.com/developerworks/db2 Table of contents If you're viewing this document online, you can click any of the topics below to link directly to that section. 1. Before
1 Stored Procedures in PL/SQL 2 PL/SQL. 2.1 Variables. 2.2 PL/SQL Program Blocks
1 Stored Procedures in PL/SQL Many modern databases support a more procedural approach to databases they allow you to write procedural code to work with data. Usually, it takes the form of SQL interweaved
Java Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
