2017 Shelby Systems, Inc. Other brand and product names are trademarks or registered trademarks of the respective holders.

Size: px
Start display at page:

Download "2017 Shelby Systems, Inc. Other brand and product names are trademarks or registered trademarks of the respective holders."

Transcription

1 2017 Shelby Systems, Inc. Other brand and product names are trademarks or registered trademarks of the respective holders.

2 The following topics are presented in this session: Database naming conventions for custom programming Script or Stored Procedure Power of stored procedures and optional parameters Common Table Expressions (CTE) instead of sub queries Aggregates, Group By, and Over Clauses Do s and Don'ts for Where and On clauses Cursors: AVOID them when you can. Registering a custom report to work with Arena Lists Best Practices when developing queries Google is your best friend. Database custom programming rules and naming conventions Developer Dos and Don ts Do Not Modify the schema of existing database tables. Any schema changes to the base tables are undone during an upgrade. Modify existing database stored procedures. Any changes to the base stored procedures are overwritten during an upgrade. Modify existing database views. Any changes to the base views are undone during an upgrade. Modify existing database functions. Any changes to the base functions are overwritten during an upgrade. Modify any Shelby Systems Hub packages. Any changes associated with Hub packages are undone when upgrading the Hub package. 1

3 Database custom programming rules and naming conventions Developer Dos and Don ts Do Back up database(s) and create a sandbox database for development. Create new tables following the naming conventions defined in this handout. Create new stored procedures using the naming conventions defined in this handout. Create new functions using the naming conventions defined in this handout. Create new views using the naming conventions defined in this handout. Database custom programming rules and naming conventions DATABASE TABLES Custom database tables should be named as follows: cust_<orgid>_<project ModuleName>_<ClassName> Example: cust_a00000_library_item DATABASE STORED PROCEDURES Custom stored procedures should use either get, save, or del as follows: cust_<orgid>_<project ModuleName>_sp_<action type>_<table name or logical instance> Examples: cust_a00000_library_sp_get_libraryloanbyid, cust_a00000_library_sp_save_libraryloan, cust_a00000_library_sp_del_libraryloan DATABASE VIEWS Custom views should be named as follows: cust_<orgid>_<project ModuleName>_v_<descriptivename> Example: cust_a00000_library_v_library_outstanding_loans 2

4 Script or Stored Procedures? Main advantages of using stored procedures: Stored procedures help promote code reuse. Stored procedures can encapsulate logic on the server. You can modify stored procedures without affecting clients. Optional input parameters make code reuse more possible. In order to use Stored Procedures you need the right development tool(s) to create and maintain them. Two good tools are Visual Studio and SSMS. MY FAVORITE DEVELOPMENT TOOL IS: (SSMS) SQL Server Management Studio. Script developers, take heart; most of the techniques you discuss today also apply to the development of scripts. Power of stored procedures and optional parameters Stored procedure input parameters are optional if you assign a default value to them. That default value is anything, including NULL. What is NULL? NULL is not a value. Null is not zero. NULL is nothing. The NULL value is perfect for use with optional parameters because you use the NULL value to determine if an application passed a value to the stored procedure. Example showing the syntax for a stored procedure with Optional Input Parameters: CREATE PROCEDURE int = NULL,@BirthdayMonth int = NULL.. Body of the stored procedure. 3

5 Power of stored procedures and optional parameters Pretend that you have a requirement for two reports. First report, List all members Name and Birthday. Second report, List every member with a birthday for a given month. Now move to SSMS to see examples of how one stored procedure with optional parameters is used for both reports: 01_cust_A00000_core_sp_get_member_birthday IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[cust_A00000_core_sp_get_member_birthday]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[cust_a00000_core_sp_get_member_birthday] SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON CREATE PROCEDURE int = NULL,@BirthdayMonth int = NULL,@OrganizationID INT = 1 AS /* START OF HEADER COMMENT SECTION TITLE: cust_a00000_core_sp_get_member_birthday AUTHOR: Tim Wilson ORIGINAL DATE: 3/31/2016 REVISION HISTORY: 03/31/2016Tim Wilson New stored procedure for training purposes. DESCRIPTION: Example of a stored procedure with optional parameters. END OF HEADER COMMENT SECTION */ MemberName = coalesce(cp.nick_name, cp.first_name) + ' ' + cp.last_name,birthday = cp.birth_date from core_person cp where cp.organization_id AND(@PersonId is null OR cp.person_id AND(@BirthdayMonth is null OR datepart(month, cp.birth_date) 4

6 Common Table Expressions (CTE) instead of sub queries Common Table Expressions are like a temporary table, sub query, or view. Adding a reference to a CTE in a query is done using the same syntax as referencing a table. Main advantages of using a CTE over sub query: Readability Recursive Queries (Adjacency List) Main advantages of using sub queries Use in populating a column. Use in where clause. When possible, AVOID using sub queries and use CTEs. Sub queries in columns can lead to performance issues. Try moving them to the from clause or use a variable. CTE instead of sub queries Now you move to SSMS to see examples of how to use a recursive CTE to find all the child profile tags associated with a parent profile tag: 02_cust_A00000_core_sp_get_profile_children 5

7 IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[cust_A00000_core_sp_get_profile_children_tags]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[cust_a00000_core_sp_get_profile_children_tags] SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON CREATE PROCEDURE int = NULL,@OrganizationID INT = 1 AS /* START OF HEADER COMMENT SECTION TITLE: cust_a00000_core_sp_get_profile_children_tags AUTHOR: Tim Wilson ORIGINAL DATE: 3/31/2016 REVISION HISTORY: 03/31/2016Tim Wilson New stored procedure for training purposes. DESCRIPTION: Example of a stored procedure using a recursive Common Table Expression. (CTE) END OF HEADER COMMENT SECTION */ with profile_tag_tree as ( tags.profile_id,tags.profile_name,tags.active,profile_hierarchical_name = convert(varchar(max), tags.profile_name),parent_profile_id,anchor_profile_id = tags.profile_id,organization_id,source = cast('anchor' as nvarchar(10)) from core_profile tags where organization_id and ((@AnchorProfileId is NULL and parent_profile_id is null) or (@AnchorProfileId is not NULL and profile_id union all tags.profile_id,tags.profile_name,tags.active,profile_hierarchical_name = convert(varchar(max), profile_tag_tree.profile_hierarchical_name + ' ' + tags.profile_name),tags.parent_profile_id,root_profile_id = profile_tag_tree.anchor_profile_id,tags.organization_id,source = cast('child' as nvarchar(10)) from core_profile tags inner join profile_tag_tree on tags.parent_profile_id = profile_tag_tree.profile_id where tags.organization_id ) profile_id,profile_name,active,profile_hierarchical_name,parent_profile_id,anchor_profile_id,source from profile_tag_tree order by profile_id 6

8 Aggregates, Group By, and Over Clauses Aggregates Aggregate functions perform a calculation on a set of values and return a single value. Group By Clause Works with aggregate functions to perform calculations by combining rows. Over Clause Works with aggregate functions to perform a calculation without combining rows. Aggregates, Group By, and Over Clauses Now move to SSMS to see examples of how to use Aggregates, Group By, and Over Clauses: 03_cust_A00000_core_sp_get_member_cumulative_contribution 7

9 IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[cust_A00000_core_sp_get_member_cumulative_contribution]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[cust_a00000_core_sp_get_member_cumulative_contribution] SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON CREATE PROCEDURE int = NULL,@Year int = NULL,@OrganizationID INT = 1 AS /* START OF HEADER COMMENT SECTION TITLE: cust_a00000_core_sp_get_member_cumulative_contribution AUTHOR: Tim Wilson ORIGINAL DATE: 3/31/2016 REVISION HISTORY: 03/31/2016Tim Wilson New stored procedure for training purposes. DESCRIPTION: Example of a stored procedure using Group By and Over clauses. END OF HEADER COMMENT SECTION */ datetime; ways to correct the Dont issue in a where clause = '1/1/' + cast(@year as nvarchar(4)); = '12/31/' + cast(@year as nvarchar(4)); with grand_totals_by_person as ( cc.person_id,total_contribution = sum(cc.currency_amount),cc.organization_id from ctrb_contribution cc group by cc.person_id, cc.organization_id ) cp.person_id,member_name = coalesce(cp.nick_name, cp.first_name) + ' ' + cp.last_name,cc.contribution_date,cc.currency_amount,cumulative_total = sum(cc.currency_amount) over (partition by cp.person_id order by (cc.contribution_date)),grand_total = gtbp.total_contribution from core_person cp inner join ctrb_contribution cc on cp.person_id = cc.person_id and cp.organization_id = cc.organization_id inner join grand_totals_by_person gtbp on cp.person_id = gtbp.person_id and cp.organization_id = gtbp.organization_id where cp.organization_id and (@PersonId is null OR cp.person_id and (@Year is null or datepart(year, contribution_date) order by cp.person_id, cc.contribution_date; 8

10 Simple Dos and Don'ts for Where and On clauses Dos Use Optional Parameters. Match exact data types exactly. Use aliases for table names. Don t Use nvarchar, varchar, char, or nchar data types for dates (performance/sort issues). Use functions when you can avoid them (columns also). Use sub queries when you can avoid them (column also). Simple Dos and Don'ts for Where and On clauses Now move to SSMS to see examples of Dos and Don ts for Where and On clauses: 04_cust_A00000_core_sp_get_member_info_bad_example And 05_cust_A00000_core_sp_get_member_info_good_example 9

11 IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[cust_A00000_core_sp_get_member_info_bad_example]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[cust_a00000_core_sp_get_member_info_bad_example] SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON CREATE PROCEDURE int = NULL,@BirthdayMonth int = NULL,@Year int = NULL,@OrganizationID int = 1 AS /* START OF HEADER COMMENT SECTION TITLE: cust_a00000_core_sp_get_member_info_bad_example AUTHOR: Tim Wilson ORIGINAL DATE: 3/31/2016 REVISION HISTORY: 03/31/2016Tim WilsonNew stored procedure for training purposes. DESCRIPTION: Example of a stored procedure that reflects bad syntax using sub queries in columns and where clause. The where clause also contains functions that could be reomved. see stored procedure cust_a00000_core_sp_get_member_info_good_example for the proper syntax. END OF HEADER COMMENT SECTION */ with cte caculates total contribution grand_totals_by_person as ( cc.person_id,total_contribution = sum(cc.currency_amount),cc.organization_id from ctrb_contribution cc group by cc.person_id, cc.organization_id ) cp.person_id,title = (select lookup_value from core_lookup where lookup_id = cp.title_luid and organization_id = coalesce(cp.nick_name, cp.first_name) + ' ' + cp.last_name,birthday = cp.birth_date,marital_status = (select lookup_value from core_lookup where lookup_id = cp.marital_status and organization_id = sum(cc.currency_amount) over (partition by cp.person_id order by (cc.contribution_date)),grand_total = gtbp.total_contribution from core_person cp inner join ctrb_contribution cc on cp.person_id = cc.person_id and cp.organization_id = cc.organization_id inner join grand_totals_by_person gtbp on cp.person_id = gtbp.person_id and cp.organization_id = gtbp.organization_id where cp.organization_id and (@PersonId is null OR cp.person_id and (@BirthdayMonth is null OR datepart(month, cp.birth_date) and (@Year is null or datepart(year, contribution_date) and cp.member_status = (select lookup_id from core_lookup where guid = 'B5BD75B0 9FAF 4E28 A956 DD5FD108244C' and organization_id order by cp.person_id, cc.contribution_date; IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[cust_A00000_core_sp_get_member_info_good_example]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[cust_a00000_core_sp_get_member_info_good_example] SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON CREATE PROCEDURE int = NULL,@BirthdayMonth int = NULL,@Year int = NULL,@OrganizationID int = 1 AS /* START OF HEADER COMMENT SECTION TITLE: cust_a00000_core_sp_get_member_info_good_example AUTHOR: Tim Wilson ORIGINAL DATE: 3/31/2016 REVISION HISTORY: 03/31/2016Tim WilsonNew stored procedure for training purposes. 10

12 DESCRIPTION: Example of a stored procedure that reflects best practices. see stored procedure cust_a00000_core_sp_get_member_info_bad_example for example of stored procedure with poor syntax. END OF HEADER COMMENT SECTION */ int = (select lookup_id from core_lookup where guid = 'B5BD75B0 9FAF 4E28 A956 DD5FD108244C' and organization_id datetime = '1/1/' + cast(@year as nvarchar(4)),@yearend datetime = '12/31/' + cast(@year as nvarchar(4)); with cte caculates total contribution grand_totals_by_person as ( cc.person_id,total_contribution = sum(cc.currency_amount),cc.organization_id from ctrb_contribution cc group by cc.person_id, cc.organization_id ) cp.person_id,title = title.lookup_value,member_name = coalesce(cp.nick_name, cp.first_name) + ' ' + cp.last_name,birthday = cp.birth_date,marital_status = ms.lookup_value,cc.contribution_date,cc.currency_amount,cumulative_total = sum(cc.currency_amount) over (partition by cp.person_id order by (cc.contribution_date)),grand_total = gtbp.total_contribution from core_person cp left outer join core_lookup title on cp.title_luid = title.lookup_id and cp.organization_id = title.organization_id left outer join core_lookup ms on cp.marital_status = ms.lookup_id and cp.organization_id = title.organization_id inner join ctrb_contribution cc on cp.person_id = cc.person_id and cp.organization_id = cc.organization_id inner join grand_totals_by_person gtbp on cp.person_id = gtbp.person_id and cp.organization_id = gtbp.organization_id where cp.organization_id and (@PersonId is null OR cp.person_id and (@BirthdayMonth is null OR datepart(month, cp.birth_date) and (@Year is null OR contribution_date and cp.member_status order by cp.person_id, cc.contribution_date; Cursors: AVOID them when you can. SQL Form of Looping Use cautiously and in rare situations. Performance Nightmare!!! 11

13 What is needed to register a custom report to work with Arena Lists? A Stored Procedure/Script must have two parameters spelled and capitalized exactly as as int,,@executionid as int = 0 is not zero, then the report was launched from Arena List. Otherwise, the report was launched from reporting services. Table rept_execution_data contains the person_ids associated with input parameter. What is needed to register a custom report to work with Arena Lists? SSRS Report Builder Report Data Tab Parameters 12

14 What is needed to register a custom report to work with Arena Lists? Now move to SSMS to see examples of how to create a stored procedure report that works with Arena Lists: 06_cust_A00000_core_sp_get_member_info_registered_list IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[cust_A00000_core_sp_get_member_info_registered_list]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[cust_a00000_core_sp_get_member_info_registered_list] SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON CREATE PROCEDURE int,@executionid as int = 0 Allows a report to work with Arena List.,@PersonId int = NULL,@BirthdayMonth int = NULL,@Year int = NULL AS /* START OF HEADER COMMENT SECTION TITLE: cust_a00000_core_sp_get_member_info_registered_list AUTHOR: Tim Wilson ORIGINAL DATE: 3/31/2016 REVISION HISTORY: 03/31/2016Tim Wilson New stored procedure for training purposes. Devrived from cust_a00000_core_sp_get_member_info_good_example to allow it to be a registered report and work with Arena Lists. DESCRIPTION: Example of a stored procedure that reflects best practices. END OF HEADER COMMENT SECTION */ int = (select lookup_id from core_lookup where guid = 'B5BD75B0 9FAF 4E28 A956 DD5FD108244C' and organization_id datetime = '1/1/' + cast(@year as nvarchar(4)),@yearend datetime = '12/31/' + cast(@year as nvarchar(4)); with member_list as ( 13

15 person_id from core_person cp where cp.organization_id and (@ExecutionID = 0) and (@PersonId is null OR cp.person_id union Arena Lists Link. table contains a list of person_ids associated with the creatde Arena list. person_id = data_id from rept_execution_data where execution_id ), grand_totals_by_person as ( cc.person_id,total_contribution = sum(cc.currency_amount),cc.organization_id from ctrb_contribution cc group by cc.person_id, cc.organization_id ) cp.person_id,title = title.lookup_value,member_name = coalesce(cp.nick_name, cp.first_name) + ' ' + cp.last_name,birthday = cp.birth_date,marital_status = ms.lookup_value,cc.contribution_date,cc.currency_amount,cumulative_total = sum(cc.currency_amount) over (partition by cp.person_id order by (cc.contribution_date)),grand_total = gtbp.total_contribution from member_list ml inner join core_person cp on ml.person_id = cp.person_id left outer join core_lookup title on cp.title_luid = title.lookup_id and cp.organization_id = title.organization_id left outer join core_lookup ms on cp.marital_status = ms.lookup_id and cp.organization_id = title.organization_id inner join ctrb_contribution cc on cp.person_id = cc.person_id and cp.organization_id = cc.organization_id inner join grand_totals_by_person gtbp on cp.person_id = gtbp.person_id and cp.organization_id = gtbp.organization_id where cp.organization_id and (@BirthdayMonth is null OR datepart(month, cp.birth_date) and (@Year is null OR contribution_date and cp.member_status order by cp.person_id, cc.contribution_date; Best Practices Best Practices when developing queries: 1. Filter large tables down to smaller data set. Attendance and Contribution tables may contain millions of rows. First CTE should use report parameters to reduce rows. Do not bring in extraneous data (first name, last name, phone number, member status etc.). Only work with IDs. 2. Perform Aggregation on the smaller data set. Use results from the first CTE to perform aggregation on IDs ONLY; avoid large Group By statements. 3. Bring in the Additional Data Final select uses the aggregation CTE and join on other tables using the IDs from the aggregation CTE to bring in the additional data. 14

16 Best Practices cust_a00000_core_sp_get_member_info_good_performance SET STATISTICS IO ON SET STATISTICS TIME ON DBCC FREEPROCCACHE EXEC = NULL,@BirthdayMonth = NULL,@Year = 2016,@OrganizationID = 1 IF EXISTS (SELECT * FROM sys.objectswhere object_id= OBJECT_ID(N'[dbo].[cust_A00000_core_sp_get_member_info_good_performance]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[cust_a00000_core_sp_get_member_info_good_performance] SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON CREATE PROCEDURE int = NULL,@BirthdayMonth int = NULL,@Year int = NULL,@OrganizationID int = 1 AS /* START OF HEADER COMMENT SECTION TITLE: cust_a00000_core_sp_get_member_info_good_performance. AUTHOR: Tim Wilson ORIGINAL DATE: 4/28/2017 REVISION HISTORY: 03/31/2016Tim WilsonNew stored procedure for training purposes. DESCRIPTION: Example of a stored procedure that reflects best practices. END OF HEADER COMMENT SECTION */ INT = (SELECT lookup_id FROM core_lookup WHERE guid = 'B5BD75B0 9FAF 4E28 A956 DD5FD108244C' and organization_id DATETIME = '1/1/' + CAST(@Year as NVARCHAR(4)),@YearEnd DATETIME = '12/31/' + CAST(@Year as NVARCHAR(4)); with cte caculates total contribution filtered_contributions AS (SELECT 15

17 cc.organization_id,cc.person_id,ccf.fund_id,ccf.amount,cc.contribution_date FROM ctrb_contribution cc INNER JOIN dbo.ctrb_contribution_fund ccf ON cc.contribution_id = ccf.contribution_id WHERE (@Year IS NULL OR cc.contribution_date AND cc.organization_id ), grand_totals_by_person AS (SELECT fc.organization_id,fc.person_id,fc.fund_id,total_contribution = SUM(fc.amount) FROM filtered_contributions fc GROUP BY fc.organization_id, fc.person_id, fc.fund_id ), cumlative_totals_by_person AS (SELECT fc.organization_id,fc.person_id,fc.fund_id,fc.contribution_date,cumulative_total = sum(fc.amount) over (partition by fc.organization_id, fc.person_id, fc.fund_id order by (fc.contribution_date)),gtbp.total_contribution FROM filtered_contributions fc INNER JOIN grand_totals_by_person gtbp ON fc.organization_id = gtbp.organization_id AND fc.person_id = gtbp.person_id AND fc.fund_id = gtbp.fund_id ) SELECT cp.person_id,cf.fund_id,cf.fund_name,title = title.lookup_value,member_name = COALESCE(cp.nick_name, cp.first_name) + ' ' + cp.last_name,birthday = cp.birth_date,marital_status = ms.lookup_value,contribution_year FROM core_person cp LEFT OUTER JOIN core_lookup title ON cp.title_luid = title.lookup_id AND cp.organization_id = title.organization_id LEFT OUTER JOIN core_lookup ms ON cp.marital_status = ms.lookup_id AND cp.organization_id = title.organization_id INNER JOIN cumlative_totals_by_person ctbp ON cp.person_id = ctbp.person_id and cp.organization_id = ctbp.organization_id INNER JOIN ctrb_fund cfon ctbp.fund_id = cf.fund_id WHERE cp.organization_id AND (@PersonId is null OR cp.person_id AND (@BirthdayMonth IS NULL OR DATEPART(MONTH, cp.birth_date) AND cp.member_status ORDER BY cp.last_name, COALESCE(cp.nick_name, cp.first_name) 16

18 Best Practices cust_a00000_core_sp_get_member_info_poor_performance SET STATISTICS IO ON SET STATISTICS TIME ON DBCC FREEPROCCACHE EXEC = NULL,@BirthdayMonth = NULL,@Year = 2016,@OrganizationID = 1 IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[cust_A00000_core_sp_get_member_info_poor_performance]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[cust_a00000_core_sp_get_member_info_poor_performance] SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON CREATE PROCEDURE int = NULL,@BirthdayMonth int = NULL,@Year int = NULL,@OrganizationID int = 1 AS /* START OF HEADER COMMENT SECTION TITLE: cust_a00000_core_sp_get_member_info_poor_example AUTHOR: Tim Wilson ORIGINAL DATE: 4/28/2017 REVISION HISTORY: 04/28/2017Tim WilsonNew stored procedure for training purposes. DESCRIPTION: Example of a stored procedure that uses poor programming practices. END OF HEADER COMMENT SECTION */ 17

19 SELECT cp.person_id,cf.fund_id,cf.fund_name,title = title.lookup_value,member_name = COALESCE(cp.nick_name, cp.first_name) + ' ' + cp.last_name,birthday = cp.birth_date,marital_status = ms.lookup_value,contribution_year = sum(ccf.amount) over (partition by cc.organization_id, cc.person_id, ccf.fund_id order by (cc.contribution_date)),grand_total.total_contribution FROM core_person cp LEFT OUTER JOIN core_lookup title ON cp.title_luid = title.lookup_id AND cp.organization_id = title.organization_id LEFT OUTER JOIN core_lookup ms ON cp.marital_status = ms.lookup_id AND cp.organization_id = title.organization_id INNER JOIN ctrb_contribution cc ON cp.person_id = cc.person_id AND cp.organization_id = cc.organization_id INNER JOIN dbo.ctrb_contribution_fund ccf ON cc.contribution_id = ccf.contribution_id INNER JOIN ctrb_fund cfon ccf.fund_id = cf.fund_id INNER JOIN (SELECT cc.organization_id, cc.person_id, ccf.fund_id, total_contribution = SUM(ccf.amount) FROM ctrb_contribution cc INNER JOIN dbo.ctrb_contribution_fund ccf ON cc.contribution_id = ccf.contribution_id WHERE (@Year IS NULL OR cc.contribution_date between '1/1/' + CAST(@Year as NVARCHAR(4)) AND '12/31/' + CAST(@Year as NVARCHAR(4))) GROUP BY cc.organization_id, cc.person_id, ccf.fund_id ) AS grand_total ON cp.organization_id = grand_total.organization_id AND cp.person_id = grand_total.person_id AND ccf.fund_id = grand_total.fund_id WHERE cp.organization_id AND (@PersonId is null OR cp.person_id AND (@BirthdayMonth IS NULL OR DATEPART(MONTH, cp.birth_date) AND cp.member_status = (SELECT lookup_id FROM core_lookup WHERE guid = 'B5BD75B0 9FAF 4E28 A956 DD5FD108244C' and organization_id AND (@Year IS NULL OR cc.contribution_date between '1/1/' + CAST(@Year as NVARCHAR(4)) AND '12/31/' + CAST(@Year as NVARCHAR(4))) ORDER BY cp.last_name, COALESCE(cp.nick_name, cp.first_name) Google IS Your Best Friend. 18

20 Q&A Class Discussion 19

21 Tim is a Software Developer at Shelby Systems and has over 21 years of software development experience with a focus on and passion for database design and development. Tim has a love for Christ and was excited to join the Shelby Systems team in 2014 and use his skills to help develop software solutions for faith based organizations.

Arena SQL: Query Attendance History Course #A252

Arena SQL: Query Attendance History Course #A252 Arena SQL: Query Attendance History Course #A252 Presented by: Tim Wilson Shelby Arena Software Developer 2018 Shelby Systems, Inc. Other brand and product names are trademarks or registered trademarks

More information

Arena Administrator: HTML & SQL Course #A244

Arena Administrator: HTML & SQL Course #A244 Arena Administrator: HTML & SQL Course #A244 Presented by: Arnold Wheatley Shelby Contract Trainer 2018 Shelby Systems, Inc. Other brand and product names are trademarks or registered trademarks of the

More information

Arena Dashboard Part 1: Querying Tags & Groups

Arena Dashboard Part 1: Querying Tags & Groups Arena Dashboard Part 1: Querying Tags & Groups (Course A20) Presented by: Alex Nicoletti, Arena Product & Implementations Manager And Arnold Wheatley, Shelby Contract Trainer 2017 Shelby Systems, Inc.

More information

Arena SQL: Query Attendance History Addendum

Arena SQL: Query Attendance History Addendum Arena SQL: Query Attendance History Addendum (Course #A252) Presented by Tim Wilson Arena Software Developer 2017 Shelby Systems, Inc. Other brand and product names are trademarks or registered trademarks

More information

20761B: QUERYING DATA WITH TRANSACT-SQL

20761B: QUERYING DATA WITH TRANSACT-SQL ABOUT THIS COURSE This 5 day course is designed to introduce students to Transact-SQL. It is designed in such a way that the first three days can be taught as a course to students requiring the knowledge

More information

Querying Data with Transact-SQL

Querying Data with Transact-SQL Querying Data with Transact-SQL Course 20761C 5 Days Instructor-led, Hands on Course Information The main purpose of the course is to give students a good understanding of the Transact- SQL language which

More information

Arena SQL: Query Groups & Tags Hierarchies Addendum (Course # A253)

Arena SQL: Query Groups & Tags Hierarchies Addendum (Course # A253) Arena SQL: Query Groups & Tags Hierarchies Addendum (Course # A253) Presented by: Tim Wilson Arena Software Developer Terminology Cluster term for any branch of a group tree above the level of an individual

More information

Course Outline. Querying Data with Transact-SQL Course 20761B: 5 days Instructor Led

Course Outline. Querying Data with Transact-SQL Course 20761B: 5 days Instructor Led Querying Data with Transact-SQL Course 20761B: 5 days Instructor Led About this course This course is designed to introduce students to Transact-SQL. It is designed in such a way that the first three days

More information

Querying Data with Transact-SQL

Querying Data with Transact-SQL Querying Data with Transact-SQL 20761B; 5 Days; Instructor-led Course Description This course is designed to introduce students to Transact-SQL. It is designed in such a way that the first three days can

More information

Writing Queries Using Microsoft SQL Server 2008 Transact-SQL. Overview

Writing Queries Using Microsoft SQL Server 2008 Transact-SQL. Overview Writing Queries Using Microsoft SQL Server 2008 Transact-SQL Overview The course has been extended by one day in response to delegate feedback. This extra day will allow for timely completion of all the

More information

Duration Level Technology Delivery Method Training Credits. Classroom ILT 5 Days Intermediate SQL Server

Duration Level Technology Delivery Method Training Credits. Classroom ILT 5 Days Intermediate SQL Server NE-20761C Querying with Transact-SQL Summary Duration Level Technology Delivery Method Training Credits Classroom ILT 5 Days Intermediate SQL Virtual ILT On Demand SATV Introduction This course is designed

More information

Querying Data with Transact-SQL

Querying Data with Transact-SQL Course Code: M20761 Vendor: Microsoft Course Overview Duration: 5 RRP: 2,177 Querying Data with Transact-SQL Overview This course is designed to introduce students to Transact-SQL. It is designed in such

More information

SQL Server Reporting Services for v.5, Arena or ShelbyNext Financials How to Start!

SQL Server Reporting Services for v.5, Arena or ShelbyNext Financials How to Start! SQL Server Reporting Services for v.5, Arena or ShelbyNext Financials How to Start! (Course E17) Presented by: Arnold Wheatley Shelby Contract Trainer 2017 Shelby Systems, Inc. Other brand and product

More information

5. SQL Query Syntax 1. Select Statement. 6. CPS: Database Schema

5. SQL Query Syntax 1. Select Statement. 6. CPS: Database Schema 5. SQL Query Syntax 1. Select Statement 6. CPS: Database Schema Joined in 2016 Previously IT Manager at RSNWO in Northwest Ohio AAS in Computer Programming A+ Certification in 2012 Microsoft Certified

More information

Querying Data with Transact-SQL

Querying Data with Transact-SQL Querying Data with Transact-SQL Duration: 5 Days Course Code: M20761 Overview: This course is designed to introduce students to Transact-SQL. It is designed in such a way that the first three days can

More information

Querying Data with Transact-SQL

Querying Data with Transact-SQL Querying Data with Transact-SQL General Description This course is designed to introduce students to Transact-SQL. It is designed in such a way that the first three days can be taught as a course to students

More information

Arena Reports Using Report Builder

Arena Reports Using Report Builder Arena Reports Using Report Builder (Course #A127) Presented by: Ben Lane Senior Staff Trainer 2018 Shelby Systems, Inc. Other brand and product names are trademarks or registered trademarks of the respective

More information

"Charting the Course... MOC C: Querying Data with Transact-SQL. Course Summary

Charting the Course... MOC C: Querying Data with Transact-SQL. Course Summary Course Summary Description This course is designed to introduce students to Transact-SQL. It is designed in such a way that the first three days can be taught as a course to students requiring the knowledge

More information

CLARITY WRITE BACK CONFIGURATION White Paper

CLARITY WRITE BACK CONFIGURATION White Paper CLARITY WRITE BACK CONFIGURATION White Paper Clarity 7 White Paper: Write-Back Configuration Version 7.0 2nd Edition Microsoft is a registered trademark. Microsoft SQL Server, Office, Excel, Word, Internet

More information

20761C: Querying Data with Transact-SQL

20761C: Querying Data with Transact-SQL 20761C: Querying Data with Transact-SQL Course Details Course Code: Duration: Notes: 20761C 5 days This course syllabus should be used to determine whether the course is appropriate for the students, based

More information

Microsoft Querying Data with Transact-SQL - Performance Course

Microsoft Querying Data with Transact-SQL - Performance Course 1800 ULEARN (853 276) www.ddls.com.au Microsoft 20761 - Querying Data with Transact-SQL - Performance Course Length 4 days Price $4290.00 (inc GST) Version C Overview This course is designed to introduce

More information

Querying Data with Transact-SQL

Querying Data with Transact-SQL Querying Data with Transact-SQL Código del curso: 20761 Duración: 5 días Acerca de este curso This course is designed to introduce students to Transact-SQL. It is designed in such a way that the first

More information

T-SQL Training: T-SQL for SQL Server for Developers

T-SQL Training: T-SQL for SQL Server for Developers Duration: 3 days T-SQL Training Overview T-SQL for SQL Server for Developers training teaches developers all the Transact-SQL skills they need to develop queries and views, and manipulate data in a SQL

More information

Learning Alliance Corporation, Inc. For more info: go to

Learning Alliance Corporation, Inc. For more info: go to Writing Queries Using Microsoft SQL Server Transact-SQL Length: 3 Day(s) Language(s): English Audience(s): IT Professionals Level: 200 Technology: Microsoft SQL Server Type: Course Delivery Method: Instructor-led

More information

Arena: Edit Existing Reports

Arena: Edit Existing Reports Arena: Edit Existing Reports (Course A27) Presented by: Ben Lane Senior Staff Trainer 2017 Shelby Systems, Inc. Other brand and product names are trademarks or registered trademarks of the respective holders.

More information

Writing Queries Using Microsoft SQL Server 2008 Transact- SQL

Writing Queries Using Microsoft SQL Server 2008 Transact- SQL Writing Queries Using Microsoft SQL Server 2008 Transact- SQL Course 2778-08; 3 Days, Instructor-led Course Description This 3-day instructor led course provides students with the technical skills required

More information

MS_20761 Querying Data with Transact-SQL

MS_20761 Querying Data with Transact-SQL Querying Data with Transact-SQL www.ked.com.mx Av. Revolución No. 374 Col. San Pedro de los Pinos, C.P. 03800, México, CDMX. Tel/Fax: 52785560 Por favor no imprimas este documento si no es necesario. About

More information

Relational Database Management Systems for Epidemiologists: SQL Part II

Relational Database Management Systems for Epidemiologists: SQL Part II Relational Database Management Systems for Epidemiologists: SQL Part II Outline Summarizing and Grouping Data Retrieving Data from Multiple Tables using JOINS Summary of Aggregate Functions Function MIN

More information

20761 Querying Data with Transact SQL

20761 Querying Data with Transact SQL Course Overview The main purpose of this course is to give students a good understanding of the Transact-SQL language which is used by all SQL Server-related disciplines; namely, Database Administration,

More information

Arena Administrators: HTML and SQL (Course #A247)

Arena Administrators: HTML and SQL (Course #A247) Arena Administrators: HTML and SQL (Course #A247) Presented by: Erik Peterson Bethany Baptist Church 2017 Shelby Systems, Inc. Other brand and product names are trademarks or registered trademarks of the

More information

Querying Microsoft SQL Server 2008/2012

Querying Microsoft SQL Server 2008/2012 Querying Microsoft SQL Server 2008/2012 Course 10774A 5 Days Instructor-led, Hands-on Introduction This 5-day instructor led course provides students with the technical skills required to write basic Transact-SQL

More information

Querying Microsoft SQL Server

Querying Microsoft SQL Server Querying Microsoft SQL Server 20461D; 5 days, Instructor-led Course Description This 5-day instructor led course provides students with the technical skills required to write basic Transact SQL queries

More information

Sql Server Syllabus. Overview

Sql Server Syllabus. Overview Sql Server Syllabus Overview This SQL Server training teaches developers all the Transact-SQL skills they need to create database objects like Tables, Views, Stored procedures & Functions and triggers

More information

SQL Coding Guidelines

SQL Coding Guidelines SQL Coding Guidelines 1. Always specify SET NOCOUNT ON at the top of the stored procedure, this command suppresses the result set count information thereby saving some amount of time spent by SQL Server.

More information

QUERYING MICROSOFT SQL SERVER COURSE OUTLINE. Course: 20461C; Duration: 5 Days; Instructor-led

QUERYING MICROSOFT SQL SERVER COURSE OUTLINE. Course: 20461C; Duration: 5 Days; Instructor-led CENTER OF KNOWLEDGE, PATH TO SUCCESS Website: QUERYING MICROSOFT SQL SERVER Course: 20461C; Duration: 5 Days; Instructor-led WHAT YOU WILL LEARN This 5-day instructor led course provides students with

More information

Querying Microsoft SQL Server 2012/2014

Querying Microsoft SQL Server 2012/2014 Page 1 of 14 Overview 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 is the foundation

More information

AVANTUS TRAINING PTE LTD

AVANTUS TRAINING PTE LTD [MS20461]: Querying Microsoft SQL Server 2014 Length : 5 Days Audience(s) : IT Professionals Level : 300 Technology : SQL Server Delivery Method : Instructor-led (Classroom) Course Overview This 5-day

More information

20461: Querying Microsoft SQL Server 2014 Databases

20461: Querying Microsoft SQL Server 2014 Databases Course Outline 20461: Querying Microsoft SQL Server 2014 Databases Module 1: Introduction to Microsoft SQL Server 2014 This module introduces the SQL Server platform and major tools. It discusses editions,

More information

Querying Data with Transact-SQL

Querying Data with Transact-SQL Course Outline 20761- Querying Data with Transact-SQL Duration: 5 days (30 hours) Target Audience: This course is the intended for Database Administrators, Database Developers, and Business Intelligence

More information

Private Institute of Aga NETWORK DATABASE LECTURER NIYAZ M. SALIH

Private Institute of Aga NETWORK DATABASE LECTURER NIYAZ M. SALIH Private Institute of Aga 2018 NETWORK DATABASE LECTURER NIYAZ M. SALIH Data Definition Language (DDL): String data Types: Data Types CHAR(size) NCHAR(size) VARCHAR2(size) Description A fixed-length character

More information

Querying Data with Transact SQL

Querying Data with Transact SQL Course 20761A: Querying Data with Transact SQL Course details Course Outline Module 1: Introduction to Microsoft SQL Server 2016 This module introduces SQL Server, the versions of SQL Server, including

More information

COURSE OUTLINE: Querying Microsoft SQL Server

COURSE OUTLINE: Querying Microsoft SQL Server Course Name 20461 Querying Microsoft SQL Server Course Duration 5 Days Course Structure Instructor-Led (Classroom) Course Overview This 5-day instructor led course provides students with the technical

More information

Introduction to SQL Server 2005/2008 and Transact SQL

Introduction to SQL Server 2005/2008 and Transact SQL Introduction to SQL Server 2005/2008 and Transact SQL Week 4: Normalization, Creating Tables, and Constraints Some basics of creating tables and databases Steve Stedman - Instructor Steve@SteveStedman.com

More information

Sql Server 2008 Query Table Schema Name In

Sql Server 2008 Query Table Schema Name In Sql Server 2008 Query Table Schema Name In Stored Procedures How to get the Stored Procedure's returnd table's structure in SQl Server SELECT p.name, OBJECT_NAME(OBject_ID) 'ProductionLog', p.parameter_id.

More information

MySQL for Beginners Ed 3

MySQL for Beginners Ed 3 MySQL for Beginners Ed 3 Duration: 4 Days What you will learn The MySQL for Beginners course helps you learn about the world's most popular open source database. Expert Oracle University instructors will

More information

Querying Microsoft SQL Server

Querying Microsoft SQL Server Querying Microsoft SQL Server Course 20461D 5 Days Instructor-led, Hands-on Course Description This 5-day instructor led course is designed for customers who are interested in learning SQL Server 2012,

More information

$99.95 per user. Writing Queries for SQL Server (2005/2008 Edition) CourseId: 160 Skill level: Run Time: 42+ hours (209 videos)

$99.95 per user. Writing Queries for SQL Server (2005/2008 Edition) CourseId: 160 Skill level: Run Time: 42+ hours (209 videos) Course Description This course is a comprehensive query writing course for Microsoft SQL Server versions 2005, 2008, and 2008 R2. If you struggle with knowing the difference between an INNER and an OUTER

More information

MTA Database Administrator Fundamentals Course

MTA Database Administrator Fundamentals Course MTA Database Administrator Fundamentals Course Session 1 Section A: Database Tables Tables Representing Data with Tables SQL Server Management Studio Section B: Database Relationships Flat File Databases

More information

MANAGING DATA(BASES) USING SQL (NON-PROCEDURAL SQL, X401.9)

MANAGING DATA(BASES) USING SQL (NON-PROCEDURAL SQL, X401.9) Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 6 Professional Program: Data Administration and Management MANAGING DATA(BASES) USING SQL (NON-PROCEDURAL SQL, X401.9) AGENDA

More information

Advanced SQL Tribal Data Workshop Joe Nowinski

Advanced SQL Tribal Data Workshop Joe Nowinski Advanced SQL 2018 Tribal Data Workshop Joe Nowinski The Plan Live demo 1:00 PM 3:30 PM Follow along on GoToMeeting Optional practice session 3:45 PM 5:00 PM Laptops available What is SQL? Structured Query

More information

Querying Data with Transact-SQL

Querying Data with Transact-SQL Querying Data with Transact-SQL Course: 20761 Course Details Audience(s): IT Professional(s) Technology: Microsoft SQL Server 2016 Duration: 24 HRs. ABOUT THIS COURSE This course is designed to introduce

More information

"Charting the Course to Your Success!" MOC D Querying Microsoft SQL Server Course Summary

Charting the Course to Your Success! MOC D Querying Microsoft SQL Server Course Summary Course Summary 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 is the foundation

More information

Arena: Modify Check-In Labels (Course #A231)

Arena: Modify Check-In Labels (Course #A231) Arena: Modify Check-In Labels (Course #A231) Presented by: Ben Lane Senior Staff Trainer 2018 Shelby Systems, Inc. Other brand and product names are trademarks or registered trademarks of the respective

More information

T-sql Check If Index Exists Information_schema

T-sql Check If Index Exists Information_schema T-sql Check If Index Exists Information_schema Is there another way to check if table/column exists in SQL Server? indexes won't pick them up, causing it to use the Clustered Index whenever a new column

More information

DB2 SQL Class Outline

DB2 SQL Class Outline DB2 SQL Class Outline The Basics of SQL Introduction Finding Your Current Schema Setting Your Default SCHEMA SELECT * (All Columns) in a Table SELECT Specific Columns in a Table Commas in the Front or

More information

Writing Analytical Queries for Business Intelligence

Writing Analytical Queries for Business Intelligence MOC-55232 Writing Analytical Queries for Business Intelligence 3 Days Overview About this Microsoft SQL Server 2016 Training Course This three-day instructor led Microsoft SQL Server 2016 Training Course

More information

20461D: Querying Microsoft SQL Server

20461D: Querying Microsoft SQL Server 20461D: Querying Microsoft SQL Server Course Details Course Code: Duration: Notes: 20461D 5 days This course syllabus should be used to determine whether the course is appropriate for the students, based

More information

SQL Server. Lecture3 Cascading referential integrity constraint

SQL Server. Lecture3 Cascading referential integrity constraint SQL Server Lecture3 Cascading referential integrity constraint insert into tblperson values (4,'May','Ma@m.com',4) Msg 547, Level 16, State 0, Line 1 The INSERT statement conflicted with the FOREIGN KEY

More information

Parameter Sniffing Problem with Stored Procedures. Milos Radivojevic

Parameter Sniffing Problem with Stored Procedures. Milos Radivojevic Parameter Sniffing Problem with Stored Procedures Milos Radivojevic About Me DI Milos Radivojevic, Vienna, Austria Data Platform Architect Database Developer MCTS SQL Server Development Contact: MRadivojevic@SolidQ.com

More information

Teradata SQL Features Overview Version

Teradata SQL Features Overview Version Table of Contents Teradata SQL Features Overview Version 14.10.0 Module 0 - Introduction Course Objectives... 0-4 Course Description... 0-6 Course Content... 0-8 Module 1 - Teradata Studio Features Optimize

More information

Accurate study guides, High passing rate! Testhorse provides update free of charge in one year!

Accurate study guides, High passing rate! Testhorse provides update free of charge in one year! Accurate study guides, High passing rate! Testhorse provides update free of charge in one year! http://www.testhorse.com Exam : 70-467 Title : Designing Business Intelligence Solutions with Microsoft SQL

More information

2017 Shelby Systems, Inc. Other brand and product names are trademarks or registered trademarks of the respective holders.

2017 Shelby Systems, Inc. Other brand and product names are trademarks or registered trademarks of the respective holders. 2017 Shelby Systems, Inc. Other brand and product names are trademarks or registered trademarks of the respective holders. Objective To provide a brief overview of some of the functionality available to

More information

Querying Data with Transact-SQL (20761)

Querying Data with Transact-SQL (20761) Querying Data with Transact-SQL (20761) Formato do curso: Presencial e Live Training Preço: 1630 Nível: Iniciado Duração: 35 horas The main purpose of this 5 day instructor led course is to give students

More information

After completing this course, participants will be able to:

After completing this course, participants will be able to: Querying SQL Server T h i s f i v e - d a y i n s t r u c t o r - l e d c o u r s e p r o v i d e s p a r t i c i p a n t s w i t h t h e t e c h n i c a l s k i l l s r e q u i r e d t o w r i t e b a

More information

Course 20461C: Querying Microsoft SQL Server

Course 20461C: Querying Microsoft SQL Server Course 20461C: Querying Microsoft SQL Server Audience Profile About this Course This course is the foundation for all SQL Serverrelated disciplines; namely, Database Administration, Database Development

More information

Querying Microsoft SQL Server

Querying Microsoft SQL Server Course Code: M20461 Vendor: Microsoft Course Overview Duration: 5 RRP: POA Querying Microsoft SQL Server Overview This 5-day instructor led course provides delegates with the technical skills required

More information

Querying Microsoft SQL Server

Querying Microsoft SQL Server 20461 - Querying Microsoft SQL Server Duration: 5 Days Course Price: $2,975 Software Assurance Eligible Course Description About this course This 5-day instructor led course provides students with the

More information

Querying Microsoft SQL Server 2014

Querying Microsoft SQL Server 2014 Querying Microsoft SQL Server 2014 Course: 20461 Course Details Audience(s): IT Professional(s) Technology: Microsoft SQL Server 2014 Duration: 40 Hours ABOUT THIS COURSE This forty hours of instructor-led

More information

Querying Data with Transact-SQL

Querying Data with Transact-SQL Course 20761A: Querying Data with Transact-SQL Page 1 of 5 Querying Data with Transact-SQL Course 20761A: 2 days; Instructor-Led Introduction The main purpose of this 2 day instructor led course is to

More information

2017/11/04 04:02 1/12 Coding Conventions

2017/11/04 04:02 1/12 Coding Conventions 2017/11/04 04:02 1/12 Coding Conventions Coding Conventions SQL Statements (Selects) Use the more readable ANSI-Standard Join clauses (SQL-92 syntax) instead of the old style joins (SQL-89 syntax). The

More information

[AVNICF-MCSASQL2012]: NICF - Microsoft Certified Solutions Associate (MCSA): SQL Server 2012

[AVNICF-MCSASQL2012]: NICF - Microsoft Certified Solutions Associate (MCSA): SQL Server 2012 [AVNICF-MCSASQL2012]: NICF - Microsoft Certified Solutions Associate (MCSA): SQL Server 2012 Length Delivery Method : 5 Days : Instructor-led (Classroom) Course Overview Participants will learn technical

More information

Dynamically build connection objects for Microsoft Access databases in SQL Server Integration Services SSIS

Dynamically build connection objects for Microsoft Access databases in SQL Server Integration Services SSIS Dynamically build connection objects for Microsoft Access databases in SQL Server Integration Services SSIS Problem As a portion of our daily data upload process, we receive data in the form of Microsoft

More information

Arena Reports Using Report Builder

Arena Reports Using Report Builder Arena Reports Using Report Builder (Course #A127) Presented by: Staci Sampson Contract Trainer 2017 Shelby Systems, Inc. Other brand and product names are trademarks or registered trademarks of the respective

More information

Query Processing Task

Query Processing Task Execution Plans Indexing to achieve optimal query plans Author: Ted Krueger - LessThanDot The obstacle SQL Server and data storage itself is only as good as the means in which we can read the data. Very

More information

This lab will introduce you to MySQL. Begin by logging into the class web server via SSH Secure Shell Client

This lab will introduce you to MySQL. Begin by logging into the class web server via SSH Secure Shell Client Lab 2.0 - MySQL CISC3140, Fall 2011 DUE: Oct. 6th (Part 1 only) Part 1 1. Getting started This lab will introduce you to MySQL. Begin by logging into the class web server via SSH Secure Shell Client host

More information

OVERVIEW JICS ATTENDANCE REPORTING WITH COGNOS. Graceland University James M Mueller

OVERVIEW JICS ATTENDANCE REPORTING WITH COGNOS. Graceland University James M Mueller OVERVIEW The Jenzabar Internet Campus Solution (JICS) provides educators a chance to record attendance data about their classes. By combining this information with CX Data, robust analysis can be done

More information

Querying Data with Transact SQL Microsoft Official Curriculum (MOC 20761)

Querying Data with Transact SQL Microsoft Official Curriculum (MOC 20761) Querying Data with Transact SQL Microsoft Official Curriculum (MOC 20761) Course Length: 3 days Course Delivery: Traditional Classroom Online Live MOC on Demand Course Overview The main purpose of this

More information

Advanced SQL Topics. Michael Fields Central Library Consortium https://go.clcohio.org/pug2014fields

Advanced SQL Topics. Michael Fields Central Library Consortium https://go.clcohio.org/pug2014fields Advanced SQL Topics Michael Fields Central Library Consortium mfields@clcohio.org https://go.clcohio.org/pug2014fields Overview Useful tools SQL Complete -- SSMS add-in Better intellisense / searching

More information

Querying Microsoft SQL Server

Querying Microsoft SQL Server Querying Microsoft SQL Server Duration: 5 Days (08:30-16:00) Overview: This course provides students with the technical skills required to write basic Transact-SQL queries for Microsoft SQL Server. This

More information

Improve the Performance of Your T-SQL by Changing Your Habits. Mickey Stuewe Microsoft Junkie Sr Database Developer

Improve the Performance of Your T-SQL by Changing Your Habits. Mickey Stuewe Microsoft Junkie Sr Database Developer Improve the Performance of Your T-SQL by Changing Your Habits Mickey Stuewe Microsoft Junkie Sr Database Developer Your Background DBA Database Developer Programmer Manager Just Checking Things Out 2 Objectives

More information

Venezuela: Teléfonos: / Colombia: Teléfonos:

Venezuela: Teléfonos: / Colombia: Teléfonos: CONTENIDO PROGRAMÁTICO Moc 20761: Querying Data with Transact SQL Module 1: Introduction to Microsoft SQL Server This module introduces SQL Server, the versions of SQL Server, including cloud versions,

More information

Implementing Table Operations Using Structured Query Language (SQL) Using Multiple Operations. SQL: Structured Query Language

Implementing Table Operations Using Structured Query Language (SQL) Using Multiple Operations. SQL: Structured Query Language Implementing Table Operations Using Structured Query Language (SQL) Using Multiple Operations Show Only certain columns and rows from the join of Table A with Table B The implementation of table operations

More information

Mobile MOUSe MTA DATABASE ADMINISTRATOR FUNDAMENTALS ONLINE COURSE OUTLINE

Mobile MOUSe MTA DATABASE ADMINISTRATOR FUNDAMENTALS ONLINE COURSE OUTLINE Mobile MOUSe MTA DATABASE ADMINISTRATOR FUNDAMENTALS ONLINE COURSE OUTLINE COURSE TITLE MTA DATABASE ADMINISTRATOR FUNDAMENTALS COURSE DURATION 10 Hour(s) of Self-Paced Interactive Training COURSE OVERVIEW

More information

Oracle Database 11g: SQL and PL/SQL Fundamentals

Oracle Database 11g: SQL and PL/SQL Fundamentals Oracle University Contact Us: +33 (0) 1 57 60 20 81 Oracle Database 11g: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn In this course, students learn the fundamentals of SQL and PL/SQL

More information

Introduction to SQL Server 2005/2008 and Transact SQL

Introduction to SQL Server 2005/2008 and Transact SQL Introduction to SQL Server 2005/2008 and Transact SQL Week 2 TRANSACT SQL CRUD Create, Read, Update, and Delete Steve Stedman - Instructor Steve@SteveStedman.com Homework Review Review of homework from

More information

Language. f SQL. Larry Rockoff COURSE TECHNOLOGY. Kingdom United States. Course Technology PTR. A part ofcenqaqe Learninq

Language. f SQL. Larry Rockoff COURSE TECHNOLOGY. Kingdom United States. Course Technology PTR. A part ofcenqaqe Learninq Language f SQL Larry Rockoff Course Technology PTR A part ofcenqaqe Learninq *, COURSE TECHNOLOGY!» CENGAGE Learning- Australia Brazil Japan Korea Mexico Singapore Spain United Kingdom United States '

More information

Recently Updated Dumps from PassLeader with VCE and PDF (Question 1 - Question 15)

Recently Updated Dumps from PassLeader with VCE and PDF (Question 1 - Question 15) Recently Updated 70-467 Dumps from PassLeader with VCE and PDF (Question 1 - Question 15) Valid 70-467 Dumps shared by PassLeader for Helping Passing 70-467 Exam! PassLeader now offer the newest 70-467

More information

Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course:

Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course: Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course: 20762C Developing SQL 2016 Databases Module 1: An Introduction to Database Development Introduction to the

More information

Get Table Schema In Sql Server 2008 To Add Column If Not Exists >>>CLICK HERE<<<

Get Table Schema In Sql Server 2008 To Add Column If Not Exists >>>CLICK HERE<<< Get Table Schema In Sql Server 2008 To Add Column If Not Exists IF NOT EXISTS ( SELECT * FROM sys.columns WHERE object_id = OBJECT_ID(N'(dbo). Also try catch is easily possible to use in sql serverand

More information

Get Table Schema In Sql Server 2005 Modify. Column Size >>>CLICK HERE<<<

Get Table Schema In Sql Server 2005 Modify. Column Size >>>CLICK HERE<<< Get Table Schema In Sql Server 2005 Modify Column Size Dynamic T-SQL - Alter column definition to max length of field VARCHAR(MAX) = '' SELECT IDENTITY(int,1,1) as ID, -- for later update 'ALTER TABLE

More information

MySQL for Developers Ed 3

MySQL for Developers Ed 3 Oracle University Contact Us: 1.800.529.0165 MySQL for Developers Ed 3 Duration: 5 Days What you will learn This MySQL for Developers training teaches developers how to plan, design and implement applications

More information

Query To Find Table Name Using Column Name In Sql Server

Query To Find Table Name Using Column Name In Sql Server Query To Find Table Name Using Column Name In Sql Server Is there a PostgreSQL query or command that returns the field names and field types of a query, table or view? E.g., a solution if applied to simple

More information

Database Management (Functional) DELMIA Apriso 2018 Implementation Guide

Database Management (Functional) DELMIA Apriso 2018 Implementation Guide Database Management (Functional) DELMIA Apriso 2018 Implementation Guide 2017 Dassault Systèmes. Apriso, 3DEXPERIENCE, the Compass logo and the 3DS logo, CATIA, SOLIDWORKS, ENOVIA, DELMIA, SIMULIA, GEOVIA,

More information

Ultra-High Performance SQL and PL/SQL in Batch Processing

Ultra-High Performance SQL and PL/SQL in Batch Processing Ultra-High Performance SQL and PL/SQL in Batch Processing Dr. Paul Dorsey Dulcian, Inc. www.dulcian.com December 13, 2005 The Problem: Overview Processing large amounts of data using SQL and PL/SQL poses

More information

CSE 530A. Inheritance and Partitioning. Washington University Fall 2013

CSE 530A. Inheritance and Partitioning. Washington University Fall 2013 CSE 530A Inheritance and Partitioning Washington University Fall 2013 Inheritance PostgreSQL provides table inheritance SQL defines type inheritance, PostgreSQL's table inheritance is different A table

More information

CREATE AN SSRS REPORT WITH IQA

CREATE AN SSRS REPORT WITH IQA 1 CREATE AN SSRS REPORT WITH IQA It is important to do some planning before you begin writing reports. An early decision you will need to make for each report is whether or not you wish to use an IQA query

More information

Q&As Querying Data with Transact-SQL (beta)

Q&As Querying Data with Transact-SQL (beta) CertBus.com 70-761 Q&As Querying Data with Transact-SQL (beta) Pass Microsoft 70-761 Exam with 100% Guarantee Free Download Real Questions & Answers PDF and VCE file from: 100% Passing Guarantee 100% Money

More information

Alter Schema Dbo Transfer Sql Server 2000

Alter Schema Dbo Transfer Sql Server 2000 Alter Schema Dbo Transfer Sql Server 2000 All of the SQL Delta Duo Compare tools compare schema and data of two databases. As the name Supports SQL Server 2000 through to 2014 and Azure. I am using Sql

More information

Unit Assessment Guide

Unit Assessment Guide Unit Assessment Guide Unit Details Unit code Unit name Unit purpose/application ICTWEB425 Apply structured query language to extract and manipulate data This unit describes the skills and knowledge required

More information

Lab # 2. Data Definition Language (DDL) Eng. Alaa O Shama

Lab # 2. Data Definition Language (DDL) Eng. Alaa O Shama The Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4113: Database Lab Lab # 2 Data Definition Language (DDL) Eng. Alaa O Shama October, 2015 Objective To be familiar

More information