SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
USE DENALI_DEMO;
GO

--Create a SEQUENCE
IF EXISTS(SELECT * FROM sys.objects WHERE NAME =
'mySequence')
    DROP SEQUENCE mySequence

CREATE SEQUENCE mySequence AS
    BIGINT --TINYINT, SMALLINT, BIGINT, DECIMAL and
NUMERIC (0 scale)
    START WITH 1
    INCREMENT BY 1;

--Select values from the sequence
SELECT NEXT VALUE FOR mySequence;
SELECT NEXT VALUE FOR mySequence;

/*
CREATE SEQUENCE [schema_name . ] sequence_name
        [ <sequence_property_assignment> [ ,…n ] ]
    [ ; ]

<sequence_property_assignment>::=
{
    [ AS { built_in_integer_type | user-
defined_integer_type } ]
    | START WITH <constant>
        | INCREMENT BY <constant>
        | { MINVALUE <constant> | NO MINVALUE }
        | { MAXVALUE <constant> | NO MAXVALUE }
        | { CYCLE | NO CYCLE }
        | { CACHE [<constant> ] | NO CACHE }
}
*/
IF EXISTS(SELECT * FROM sys.objects WHERE name =
'test1')
    DROP SEQUENCE test1;
CREATE SEQUENCE test1;

SELECT NEXT VALUE FOR test1;
SELECT NEXT VALUE FOR mySequence;

--View Properties of the sequences
SELECT * FROM sys.sequences;


--Restart
ALTER SEQUENCE mySequence RESTART WITH 1;
--Use in a query, numbers in order of ProductID
SELECT NEXT VALUE FOR mySequence OVER(ORDER BY
ProductID) AS SEQ,
    Name, ProductID
FROM AdventureWorks2008R2.Production.Product
ORDER BY ProductID;

--Numbers in order of ProductID, but sort results
--by Name
ALTER SEQUENCE mySequence RESTART WITH 1;

SELECT NEXT VALUE FOR mySequence OVER(ORDER BY
ProductID) AS SEQ,
    Name, ProductID
FROM AdventureWorks2008R2.Production.Product
ORDER BY Name;

DROP SEQUENCE TEST2
CREATE SEQUENCE TEST2
--Multiple tables, columns
TRUNCATE TABLE Table1; -- one int column
TRUNCATE TABLE Table2; -- two int columns

INSERT INTO Table1(Col1,Seq1)
VALUES('A',NEXT VALUE FOR mySequence)

INSERT INTO Table2(Col1,Seq1,Seq2)
VALUES('B',NEXT VALUE FOR mySequence, NEXT VALUE FOR
mySequence),
      ('C',NEXT VALUE FOR mySequence, NEXT VALUE FOR
test1);

SELECT Col1, Seq1 FROM Table1;
SELECT Col1, Seq1, Seq2 FROM Table2;



--Cycling
IF EXISTS(SELECT * FROM sys.objects WHERE name =
'myCount')
    DROP SEQUENCE myCount;

CREATE SEQUENCE myCount
    AS tinyint
    START WITH 1
    INCREMENT BY 1
    MINVALUE 1
    MAXVALUE 5
    CYCLE;

SELECT NEXT VALUE FOR myCount OVER(ORDER BY ProductID)
AS SEQ,
    Name, ProductID
FROM AdventureWorks2008R2.Production.Product
ORDER BY ProductID;

--Use in a transaction
TRUNCATE TABLE TestTable;
--What is the next number?
SELECT name, current_value FROM sys.sequences
WHERE name = 'mySequence';

BEGIN TRANSACTION
    INSERT INTO TestTable(Col1, Col2)
    VALUES('a',NEXT VALUE FOR mySequence),
          ('b',NEXT VALUE FOR mySequence),
          ('c',NEXT VALUE FOR mySequence);
ROLLBACK
SELECT name, current_value FROM sys.sequences
WHERE name = 'mySequence';


--PERMISSION
GRANT INSERT, UPDATE, SELECT ON Table1 TO testuser

EXECUTE AS LOGIN = 'testuser'
GO
INSERT INTO Table1 SELECT 'f',1000

--try to use the sequence object
INSERT INTO Table1 SELECT 'g',NEXT VALUE FOR
mySequence

REVERT
GRANT UPDATE ON mySequence TO testuser;

EXECUTE AS LOGIN = 'testuser';
GO
INSERT INTO Table1 SELECT 'g',NEXT VALUE FOR
mySequence;

REVERT;

DECLARE @range_first_value_output sql_variant,
        @range_last_value_output sql_variant;

EXEC sp_sequence_get_range
@sequence_name = N'mySequence'
, @range_size = 30
, @range_first_value = @range_first_value_output
OUTPUT
, @range_last_value = @range_last_value_output OUTPUT
;

SELECT @range_first_value_output AS FirstNumber,
    @range_last_value_output AS LastNumber;
--END SEQUENCE




--Ad-hoc Query Paging
USE AdventureWorks2008R2;
GO
SELECT Name, ProductID
FROM Production.Product
ORDER BY ProductID;

--Get rows 6 and on
SELECT Name, ProductID
FROM Production.Product
ORDER BY ProductID OFFSET 5 ROWS;
--Start with 6th rows and fetch only 10
SELECT Name, ProductID
FROM Production.Product
ORDER BY ProductID OFFSET 5 ROWS FETCH NEXT 10 ROWS
ONLY;

--END PAGING



--THROW
USE DENALI_DEMO
GO

--THROW
THROW 500001,'an error message',10

create table Table_PK(Col1 int primary key)
--inside TRY/CATCH
BEGIN TRY
    INSERT INTO Table_PK(COl1) VALUES(1);
    INSERT INTO Table_PK(COl1) VALUES(1);
END TRY
BEGIN CATCH
    INSERT INTO
ERROR_LOG(ErrorDate,ErrorNumber,ErrorMessage)
    VALUES(getdate(),ERROR_NUMBER(),ERROR_MESSAGE());
    THROW;
END CATCH
--END THROW
--WITH RESULT SETS
EXECUTE ('SELECT 1,2')
WITH RESULT SETS(
    (Column1 int NOT NULL)
    );

EXECUTE('SELECT 1')
WITH RESULT SETS NONE;

EXECUTE(
'EXECUTE(''SELECT 1 AS COL1'')
WITH RESULT SETS UNDEFINED;')
WITH Result sets undefined;

EXEC AdventureWorks2008R2.Production.ProductList
'%Chain%'

EXEC AdventureWorks2008R2.Production.ProductList
'%Chain%'
WITH RESULT SETS (
    ([Product Number] int,
     [Product Name] nvarchar(50),
     [List Price] money),
    ([Product Name] nvarchar(50),
     [Number of Orders] int)
     );
--END WITH RESULT SETS
--SYS.SP_DESCRIBE_FIRST_RESULT_SET

--old command returns colum names but not data
USE AdventureWorks2008R2;
GO
SET FMTONLY ON;
GO
SELECT *
FROM AdventureWorks2008R2.HumanResources.Employee;
SET FMTONLY OFF;

EXEC sys.sp_describe_first_result_set
    N'SELECT * FROM
AdventureWorks2008R2.HumanResources.Employee;';

--Has two result sets, but first is always known
EXEC AdventureWorks2008R2.Production.ProductList
'%Chain%';

EXEC sys.sp_describe_first_result_set
    N'AdventureWorks2008R2.Production.ProductList
''%Chain%''';

EXEC sys.sp_describe_first_result_set
    N'IF (1=1) BEGIN
        EXEC
AdventureWorks2008R2.Production.ProductList
''%Chain%''
    END
    ELSE BEGIN
EXEC
AdventureWorks2008R2.dbo.uspGetBillOfMaterials 1
    END';
--END describe first result set




--Date/Time functions
--Date Time from Parts
SELECT DATEFROMPARTS(2011,8,6);
SELECT DATETIME2FROMPARTS(2011,8,6,14,30,59,12345,7);

--End of month
SELECT EOMONTH(GETDATE());
--END Date/Time

--Conversion functions
--PARSE ( string_value AS data_type [ USING culture ]
)
SELECT PARSE('August 6, 2011' AS SMALLDATETIME);
SELECT PARSE('ABCDE' AS SMALLDATETIME);

--TRY_PARSE ( string_value AS data_type [ USING
culture ] )
SELECT TRY_PARSE('August 6, 2011' AS SMALLDATETIME);
SELECT TRY_PARSE('ABCDE' AS SMALLDATETIME);

--TRY_CONVERT ( data_type [ ( length ) ], expression
[, style ] )
SELECT CONVERT(VARCHAR,GETDATE(),101);
SELECT CONVERT(INT,'123');
SELECT CONVERT(INT, 'ABC');
SELECT TRY_CONVERT(INT, 'ABC');
--END CONVERSION
--Logical Functions
--IIF
--Current CASE
SELECT CASE WHEN 1 = 2 THEN '1 equals 2' ELSE '1 does
not equal 2' END;
SELECT IIF(1 = 2, '1 equals 2','1 does not equal 2');

Use AdventureWorks2008R2;
GO
SELECT ProductID, IIF(Color IS NOT NULL,Color, 'No
color recorded') AS Color
FROM Production.Product;

--CHOOSE
SELECT ProductID, CHOOSE(ProductID % 3 +
1,'Apples','Oranges','Pears')
FROM Production.Product;
--END Logical functions



--String functions
--CONCAT
SELECT ProductID, Color, Size, Color + ' ' + Size
FROM Production.Product
WHERE Color IS NOT NULL OR Size IS NOT NULL;

SELECT ProductID, Color, Size, CONCAT(Color,' ',Size)
FROM Production.Product
WHERE Color IS NOT NULL OR Size IS NOT NULL;

--FORMAT
SELECT FORMAT(GETDATE(),'MM/dd/yyyy');
SELECT FORMAT(GETDATE(),'MMMM dd, yyyy');
SELECT FORMAT(1234,'C');
--END String functions




--END




String functions

CONCAT (Transact-SQL)


FORMAT (Transact-SQL)
--OFFSET



/*
--NEAR
USE AdventureWorks2008R2;
GO
SELECT DocumentNode,Title
FROM Production.Document
WHERE CONTAINS(Document,'Reflector NEAR Assembly');

SELECT DocumentNode,Title
FROM Production.Document
WHERE CONTAINS(Document,'NEAR((Reflector,
Assembly),5)');

SELECT DocumentNode, Title, Document, KEY_TBL.RANK
FROM Production.Document AS DocTable INNER JOIN
CONTAINSTABLE(Production.Document, Document,
'(Reflector NEAR Assembly)' ) AS KEY_TBL
ON DocTable.DocumentNode = KEY_TBL.[KEY]
ORDER BY KEY_TBL.RANK;

--must be in order
SELECT DocumentNode,Title
FROM Production.Document
WHERE CONTAINS(Document,'NEAR((Reflector, Assembly),5,
TRUE)');

--END
*/

/*
--Compare to TOP, but TOP doesn't have a skip option
SET STATISTICS IO ON;

SELECT TOP(1000) Name, ProductID
FROM Production.Product
ORDER BY Name;

SELECT Name, ProductID
FROM Production.Product
ORDER BY Name OFFSET 0 ROWS FETCH NEXT 1000 ROWS ONLY;

SET STATISTICS IO OFF;
*/

/*
--Paging example from BOL, with an enhancement!
-- Ensure the database can support the snapshot
isolation level set for the query.
IF (SELECT snapshot_isolation_state FROM sys.databases
WHERE name = N'AdventureWorks2008R2') = 0
    ALTER DATABASE AdventureWorks2008R2 SET
ALLOW_SNAPSHOT_ISOLATION ON;
GO

-- Set the transaction isolation level to SNAPSHOT
for this query.
SET TRANSACTION ISOLATION LEVEL SNAPSHOT;
GO

-- Beging the transaction
BEGIN TRANSACTION;
GO
-- Declare and set the variables for the OFFSET and
FETCH values.
DECLARE @StartingRowNumber int = 1
      , @RowCountPerPage int = 3;

-- Create the condition to stop the transaction after
all rows have been returned.
WHILE (SELECT COUNT(*) FROM HumanResources.Department)
>= @StartingRowNumber
BEGIN

-- Run the query until the stop condition is met.
SELECT DepartmentID, Name, GroupName, COUNT(*)
OVER()/@RowCountPerPage AS TotalPages
FROM HumanResources.Department
ORDER BY DepartmentID ASC
    OFFSET @StartingRowNumber - 1 ROWS
    FETCH NEXT @RowCountPerPage ROWS ONLY;

-- Increment @StartingRowNumber value.
SET @StartingRowNumber = @StartingRowNumber +
@RowCountPerPage;
CONTINUE
END;
GO
COMMIT TRANSACTION;

GO;
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;

*/

/*

USE AdventureWorks2008R2;
GO
SELECT BusinessEntityID, TerritoryID
   ,DATEPART(yy,ModifiedDate) AS SalesYear
   ,CONVERT(varchar(20),SalesYTD,1) AS SalesYTD
   ,CONVERT(varchar(20),AVG(SalesYTD) OVER (PARTITION
BY TerritoryID
                                             ORDER BY
DATEPART(yy,ModifiedDate)
                                           ),1) AS
MovingAvg
   ,CONVERT(varchar(20),SUM(SalesYTD) OVER (PARTITION
BY TerritoryID
                                             ORDER BY
DATEPART(yy,ModifiedDate)
                                             ),1) AS
CumulativeTotal
FROM Sales.SalesPerson
WHERE TerritoryID IS NULL OR TerritoryID < 5
ORDER BY TerritoryID,SalesYear;
*/

Mais conteúdo relacionado

Mais procurados (19)

Syntactic sugar in postgre sql
Syntactic sugar in postgre sqlSyntactic sugar in postgre sql
Syntactic sugar in postgre sql
 
New SQL features in latest MySQL releases
New SQL features in latest MySQL releasesNew SQL features in latest MySQL releases
New SQL features in latest MySQL releases
 
Les09 Manipulating Data
Les09 Manipulating DataLes09 Manipulating Data
Les09 Manipulating Data
 
Single row functions
Single row functionsSingle row functions
Single row functions
 
Interacting with Oracle Database
Interacting with Oracle DatabaseInteracting with Oracle Database
Interacting with Oracle Database
 
Oracle 11g new features for developers
Oracle 11g new features for developersOracle 11g new features for developers
Oracle 11g new features for developers
 
It6312 dbms lab-ex2
It6312 dbms lab-ex2It6312 dbms lab-ex2
It6312 dbms lab-ex2
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
Les02
Les02Les02
Les02
 
Les12
Les12Les12
Les12
 
Oracle 11g PL/SQL notes
Oracle 11g PL/SQL notesOracle 11g PL/SQL notes
Oracle 11g PL/SQL notes
 
Database Management System
Database Management SystemDatabase Management System
Database Management System
 
Meet MariaDB 10.3 Debconf 2017
Meet MariaDB 10.3   Debconf 2017Meet MariaDB 10.3   Debconf 2017
Meet MariaDB 10.3 Debconf 2017
 
Ppt INFORMATIVE PRACTICES for class 11th chapter 14
Ppt INFORMATIVE PRACTICES for class 11th chapter 14Ppt INFORMATIVE PRACTICES for class 11th chapter 14
Ppt INFORMATIVE PRACTICES for class 11th chapter 14
 
Using histograms to get better performance
Using histograms to get better performanceUsing histograms to get better performance
Using histograms to get better performance
 
Sql functions
Sql functionsSql functions
Sql functions
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
Ijetr012023
Ijetr012023Ijetr012023
Ijetr012023
 
Les06 Subqueries
Les06 SubqueriesLes06 Subqueries
Les06 Subqueries
 

Destaque

Nemt solutions back safety presentation 2.4.08
Nemt solutions back safety presentation 2.4.08Nemt solutions back safety presentation 2.4.08
Nemt solutions back safety presentation 2.4.08dsacare
 
Wisata Bangka Belitung tour
Wisata Bangka Belitung tourWisata Bangka Belitung tour
Wisata Bangka Belitung tourjos manik
 
Pantai Bangka Belitung
Pantai Bangka BelitungPantai Bangka Belitung
Pantai Bangka Belitungjos manik
 
Urban world.- shifting of global business -mc kinsey & co- unus molla
Urban world.- shifting of global business -mc kinsey & co-  unus mollaUrban world.- shifting of global business -mc kinsey & co-  unus molla
Urban world.- shifting of global business -mc kinsey & co- unus mollaProf Unus Molla
 
BABY SHOWER CRISTOPHER ANTWAN
BABY SHOWER CRISTOPHER ANTWANBABY SHOWER CRISTOPHER ANTWAN
BABY SHOWER CRISTOPHER ANTWANJohanita Ortiz
 
Nemt solutions tuberculosis awareness 2.4.08
Nemt solutions tuberculosis awareness 2.4.08Nemt solutions tuberculosis awareness 2.4.08
Nemt solutions tuberculosis awareness 2.4.08dsacare
 
Security management(new) (1)
Security management(new) (1)Security management(new) (1)
Security management(new) (1)Divyesh Chauhan
 
Análisis de encuesta dirigida a padres de familia
Análisis de encuesta dirigida a padres de familiaAnálisis de encuesta dirigida a padres de familia
Análisis de encuesta dirigida a padres de familiaMabel Balaguera Solano
 
T-SQL Denali St. Louis Day of .Net
T-SQL Denali St. Louis Day of .NetT-SQL Denali St. Louis Day of .Net
T-SQL Denali St. Louis Day of .NetKathiK58
 
BABY SHOWER CRISTOPHER
BABY SHOWER CRISTOPHERBABY SHOWER CRISTOPHER
BABY SHOWER CRISTOPHERJohanita Ortiz
 
2 ap histology for class 12 7-10, 6
2 ap histology for class 12 7-10, 62 ap histology for class 12 7-10, 6
2 ap histology for class 12 7-10, 6Littleprof
 
Monetary system.pptx 2007
Monetary system.pptx 2007Monetary system.pptx 2007
Monetary system.pptx 2007Divyesh Chauhan
 
To caitlin on her 21st birthday!
To caitlin on her 21st birthday!To caitlin on her 21st birthday!
To caitlin on her 21st birthday!melpepper
 
Coaching Presentation -Colin, Nuts and Bolts
Coaching Presentation -Colin, Nuts and BoltsCoaching Presentation -Colin, Nuts and Bolts
Coaching Presentation -Colin, Nuts and BoltsMelissaLoschy
 
Presentacion ppt karen cruz sologuren
Presentacion ppt karen cruz sologurenPresentacion ppt karen cruz sologuren
Presentacion ppt karen cruz sologurenKaren Cruz Sologuren
 
Outbound Bangka Belitung
Outbound Bangka BelitungOutbound Bangka Belitung
Outbound Bangka Belitungjos manik
 

Destaque (20)

Nemt solutions back safety presentation 2.4.08
Nemt solutions back safety presentation 2.4.08Nemt solutions back safety presentation 2.4.08
Nemt solutions back safety presentation 2.4.08
 
Wisata Bangka Belitung tour
Wisata Bangka Belitung tourWisata Bangka Belitung tour
Wisata Bangka Belitung tour
 
Pantai Bangka Belitung
Pantai Bangka BelitungPantai Bangka Belitung
Pantai Bangka Belitung
 
Prewedding
PreweddingPrewedding
Prewedding
 
Presentation
PresentationPresentation
Presentation
 
Urban world.- shifting of global business -mc kinsey & co- unus molla
Urban world.- shifting of global business -mc kinsey & co-  unus mollaUrban world.- shifting of global business -mc kinsey & co-  unus molla
Urban world.- shifting of global business -mc kinsey & co- unus molla
 
BABY SHOWER CRISTOPHER ANTWAN
BABY SHOWER CRISTOPHER ANTWANBABY SHOWER CRISTOPHER ANTWAN
BABY SHOWER CRISTOPHER ANTWAN
 
Nemt solutions tuberculosis awareness 2.4.08
Nemt solutions tuberculosis awareness 2.4.08Nemt solutions tuberculosis awareness 2.4.08
Nemt solutions tuberculosis awareness 2.4.08
 
Security management(new) (1)
Security management(new) (1)Security management(new) (1)
Security management(new) (1)
 
Análisis de encuesta dirigida a padres de familia
Análisis de encuesta dirigida a padres de familiaAnálisis de encuesta dirigida a padres de familia
Análisis de encuesta dirigida a padres de familia
 
T-SQL Denali St. Louis Day of .Net
T-SQL Denali St. Louis Day of .NetT-SQL Denali St. Louis Day of .Net
T-SQL Denali St. Louis Day of .Net
 
BABY SHOWER CRISTOPHER
BABY SHOWER CRISTOPHERBABY SHOWER CRISTOPHER
BABY SHOWER CRISTOPHER
 
2 ap histology for class 12 7-10, 6
2 ap histology for class 12 7-10, 62 ap histology for class 12 7-10, 6
2 ap histology for class 12 7-10, 6
 
Poetry elements
Poetry elementsPoetry elements
Poetry elements
 
Monetary system.pptx 2007
Monetary system.pptx 2007Monetary system.pptx 2007
Monetary system.pptx 2007
 
To caitlin on her 21st birthday!
To caitlin on her 21st birthday!To caitlin on her 21st birthday!
To caitlin on her 21st birthday!
 
Hrm
HrmHrm
Hrm
 
Coaching Presentation -Colin, Nuts and Bolts
Coaching Presentation -Colin, Nuts and BoltsCoaching Presentation -Colin, Nuts and Bolts
Coaching Presentation -Colin, Nuts and Bolts
 
Presentacion ppt karen cruz sologuren
Presentacion ppt karen cruz sologurenPresentacion ppt karen cruz sologuren
Presentacion ppt karen cruz sologuren
 
Outbound Bangka Belitung
Outbound Bangka BelitungOutbound Bangka Belitung
Outbound Bangka Belitung
 

Semelhante a T sql denali code Day of .Net

Database Management System 1
Database Management System 1Database Management System 1
Database Management System 1Swapnali Pawar
 
The Ring programming language version 1.7 book - Part 93 of 196
The Ring programming language version 1.7 book - Part 93 of 196The Ring programming language version 1.7 book - Part 93 of 196
The Ring programming language version 1.7 book - Part 93 of 196Mahmoud Samir Fayed
 
Tony jambu (obscure) tools of the trade for tuning oracle sq ls
Tony jambu   (obscure) tools of the trade for tuning oracle sq lsTony jambu   (obscure) tools of the trade for tuning oracle sq ls
Tony jambu (obscure) tools of the trade for tuning oracle sq lsInSync Conference
 
Syntactic sugar in Postgre SQL
Syntactic sugar in Postgre SQLSyntactic sugar in Postgre SQL
Syntactic sugar in Postgre SQLAntony Abramchenko
 
How to write clean tests
How to write clean testsHow to write clean tests
How to write clean testsDanylenko Max
 
Oracle tips and tricks
Oracle tips and tricksOracle tips and tricks
Oracle tips and tricksYanli Liu
 
Cassandra Community Webinar | Become a Super Modeler
Cassandra Community Webinar | Become a Super ModelerCassandra Community Webinar | Become a Super Modeler
Cassandra Community Webinar | Become a Super ModelerDataStax
 
PerlApp2Postgresql (2)
PerlApp2Postgresql (2)PerlApp2Postgresql (2)
PerlApp2Postgresql (2)Jerome Eteve
 
Test Dml With Nologging
Test Dml With NologgingTest Dml With Nologging
Test Dml With NologgingN/A
 
Part9 sequence valule in table
Part9 sequence valule in tablePart9 sequence valule in table
Part9 sequence valule in tableGirija Muscut
 
MSCD650 Final Exam feedback FormMSCD650 Final Exam Grading For.docx
MSCD650 Final Exam feedback FormMSCD650 Final Exam Grading For.docxMSCD650 Final Exam feedback FormMSCD650 Final Exam Grading For.docx
MSCD650 Final Exam feedback FormMSCD650 Final Exam Grading For.docxgilpinleeanna
 
Database Query Using SQL_ip.docx
Database Query Using SQL_ip.docxDatabase Query Using SQL_ip.docx
Database Query Using SQL_ip.docxVandanaGoyal21
 
Databricks Sql cheatseet for professional exam
Databricks Sql cheatseet for professional examDatabricks Sql cheatseet for professional exam
Databricks Sql cheatseet for professional examRupiniSarguru
 
SQL 🌟🌟🔥.pdf
SQL 🌟🌟🔥.pdfSQL 🌟🌟🔥.pdf
SQL 🌟🌟🔥.pdfLightWolf2
 
SQL learning notes and all code.pdf
SQL learning notes and all code.pdfSQL learning notes and all code.pdf
SQL learning notes and all code.pdf79TarannumMulla
 

Semelhante a T sql denali code Day of .Net (20)

New tsql features
New tsql featuresNew tsql features
New tsql features
 
Database Management System 1
Database Management System 1Database Management System 1
Database Management System 1
 
The Ring programming language version 1.7 book - Part 93 of 196
The Ring programming language version 1.7 book - Part 93 of 196The Ring programming language version 1.7 book - Part 93 of 196
The Ring programming language version 1.7 book - Part 93 of 196
 
DOODB_LAB.pptx
DOODB_LAB.pptxDOODB_LAB.pptx
DOODB_LAB.pptx
 
Tony jambu (obscure) tools of the trade for tuning oracle sq ls
Tony jambu   (obscure) tools of the trade for tuning oracle sq lsTony jambu   (obscure) tools of the trade for tuning oracle sq ls
Tony jambu (obscure) tools of the trade for tuning oracle sq ls
 
Syntactic sugar in Postgre SQL
Syntactic sugar in Postgre SQLSyntactic sugar in Postgre SQL
Syntactic sugar in Postgre SQL
 
How to write clean tests
How to write clean testsHow to write clean tests
How to write clean tests
 
Oracle tips and tricks
Oracle tips and tricksOracle tips and tricks
Oracle tips and tricks
 
Cassandra Community Webinar | Become a Super Modeler
Cassandra Community Webinar | Become a Super ModelerCassandra Community Webinar | Become a Super Modeler
Cassandra Community Webinar | Become a Super Modeler
 
Sql analytic queries tips
Sql analytic queries tipsSql analytic queries tips
Sql analytic queries tips
 
PerlApp2Postgresql (2)
PerlApp2Postgresql (2)PerlApp2Postgresql (2)
PerlApp2Postgresql (2)
 
Test Dml With Nologging
Test Dml With NologgingTest Dml With Nologging
Test Dml With Nologging
 
Part9 sequence valule in table
Part9 sequence valule in tablePart9 sequence valule in table
Part9 sequence valule in table
 
MSCD650 Final Exam feedback FormMSCD650 Final Exam Grading For.docx
MSCD650 Final Exam feedback FormMSCD650 Final Exam Grading For.docxMSCD650 Final Exam feedback FormMSCD650 Final Exam Grading For.docx
MSCD650 Final Exam feedback FormMSCD650 Final Exam Grading For.docx
 
Database Query Using SQL_ip.docx
Database Query Using SQL_ip.docxDatabase Query Using SQL_ip.docx
Database Query Using SQL_ip.docx
 
Databricks Sql cheatseet for professional exam
Databricks Sql cheatseet for professional examDatabricks Sql cheatseet for professional exam
Databricks Sql cheatseet for professional exam
 
Trig
TrigTrig
Trig
 
1670595076250.pdf
1670595076250.pdf1670595076250.pdf
1670595076250.pdf
 
SQL 🌟🌟🔥.pdf
SQL 🌟🌟🔥.pdfSQL 🌟🌟🔥.pdf
SQL 🌟🌟🔥.pdf
 
SQL learning notes and all code.pdf
SQL learning notes and all code.pdfSQL learning notes and all code.pdf
SQL learning notes and all code.pdf
 

Último

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 

Último (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 

T sql denali code Day of .Net

  • 1. USE DENALI_DEMO; GO --Create a SEQUENCE IF EXISTS(SELECT * FROM sys.objects WHERE NAME = 'mySequence') DROP SEQUENCE mySequence CREATE SEQUENCE mySequence AS BIGINT --TINYINT, SMALLINT, BIGINT, DECIMAL and NUMERIC (0 scale) START WITH 1 INCREMENT BY 1; --Select values from the sequence SELECT NEXT VALUE FOR mySequence; SELECT NEXT VALUE FOR mySequence; /* CREATE SEQUENCE [schema_name . ] sequence_name [ <sequence_property_assignment> [ ,…n ] ] [ ; ] <sequence_property_assignment>::= { [ AS { built_in_integer_type | user- defined_integer_type } ] | START WITH <constant> | INCREMENT BY <constant> | { MINVALUE <constant> | NO MINVALUE } | { MAXVALUE <constant> | NO MAXVALUE } | { CYCLE | NO CYCLE } | { CACHE [<constant> ] | NO CACHE } } */
  • 2. IF EXISTS(SELECT * FROM sys.objects WHERE name = 'test1') DROP SEQUENCE test1; CREATE SEQUENCE test1; SELECT NEXT VALUE FOR test1; SELECT NEXT VALUE FOR mySequence; --View Properties of the sequences SELECT * FROM sys.sequences; --Restart ALTER SEQUENCE mySequence RESTART WITH 1; --Use in a query, numbers in order of ProductID SELECT NEXT VALUE FOR mySequence OVER(ORDER BY ProductID) AS SEQ, Name, ProductID FROM AdventureWorks2008R2.Production.Product ORDER BY ProductID; --Numbers in order of ProductID, but sort results --by Name ALTER SEQUENCE mySequence RESTART WITH 1; SELECT NEXT VALUE FOR mySequence OVER(ORDER BY ProductID) AS SEQ, Name, ProductID FROM AdventureWorks2008R2.Production.Product ORDER BY Name; DROP SEQUENCE TEST2 CREATE SEQUENCE TEST2
  • 3. --Multiple tables, columns TRUNCATE TABLE Table1; -- one int column TRUNCATE TABLE Table2; -- two int columns INSERT INTO Table1(Col1,Seq1) VALUES('A',NEXT VALUE FOR mySequence) INSERT INTO Table2(Col1,Seq1,Seq2) VALUES('B',NEXT VALUE FOR mySequence, NEXT VALUE FOR mySequence), ('C',NEXT VALUE FOR mySequence, NEXT VALUE FOR test1); SELECT Col1, Seq1 FROM Table1; SELECT Col1, Seq1, Seq2 FROM Table2; --Cycling IF EXISTS(SELECT * FROM sys.objects WHERE name = 'myCount') DROP SEQUENCE myCount; CREATE SEQUENCE myCount AS tinyint START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 5 CYCLE; SELECT NEXT VALUE FOR myCount OVER(ORDER BY ProductID) AS SEQ, Name, ProductID FROM AdventureWorks2008R2.Production.Product
  • 4. ORDER BY ProductID; --Use in a transaction TRUNCATE TABLE TestTable; --What is the next number? SELECT name, current_value FROM sys.sequences WHERE name = 'mySequence'; BEGIN TRANSACTION INSERT INTO TestTable(Col1, Col2) VALUES('a',NEXT VALUE FOR mySequence), ('b',NEXT VALUE FOR mySequence), ('c',NEXT VALUE FOR mySequence); ROLLBACK SELECT name, current_value FROM sys.sequences WHERE name = 'mySequence'; --PERMISSION GRANT INSERT, UPDATE, SELECT ON Table1 TO testuser EXECUTE AS LOGIN = 'testuser' GO INSERT INTO Table1 SELECT 'f',1000 --try to use the sequence object INSERT INTO Table1 SELECT 'g',NEXT VALUE FOR mySequence REVERT GRANT UPDATE ON mySequence TO testuser; EXECUTE AS LOGIN = 'testuser'; GO
  • 5. INSERT INTO Table1 SELECT 'g',NEXT VALUE FOR mySequence; REVERT; DECLARE @range_first_value_output sql_variant, @range_last_value_output sql_variant; EXEC sp_sequence_get_range @sequence_name = N'mySequence' , @range_size = 30 , @range_first_value = @range_first_value_output OUTPUT , @range_last_value = @range_last_value_output OUTPUT ; SELECT @range_first_value_output AS FirstNumber, @range_last_value_output AS LastNumber; --END SEQUENCE --Ad-hoc Query Paging USE AdventureWorks2008R2; GO SELECT Name, ProductID FROM Production.Product ORDER BY ProductID; --Get rows 6 and on SELECT Name, ProductID FROM Production.Product ORDER BY ProductID OFFSET 5 ROWS;
  • 6. --Start with 6th rows and fetch only 10 SELECT Name, ProductID FROM Production.Product ORDER BY ProductID OFFSET 5 ROWS FETCH NEXT 10 ROWS ONLY; --END PAGING --THROW USE DENALI_DEMO GO --THROW THROW 500001,'an error message',10 create table Table_PK(Col1 int primary key) --inside TRY/CATCH BEGIN TRY INSERT INTO Table_PK(COl1) VALUES(1); INSERT INTO Table_PK(COl1) VALUES(1); END TRY BEGIN CATCH INSERT INTO ERROR_LOG(ErrorDate,ErrorNumber,ErrorMessage) VALUES(getdate(),ERROR_NUMBER(),ERROR_MESSAGE()); THROW; END CATCH --END THROW
  • 7. --WITH RESULT SETS EXECUTE ('SELECT 1,2') WITH RESULT SETS( (Column1 int NOT NULL) ); EXECUTE('SELECT 1') WITH RESULT SETS NONE; EXECUTE( 'EXECUTE(''SELECT 1 AS COL1'') WITH RESULT SETS UNDEFINED;') WITH Result sets undefined; EXEC AdventureWorks2008R2.Production.ProductList '%Chain%' EXEC AdventureWorks2008R2.Production.ProductList '%Chain%' WITH RESULT SETS ( ([Product Number] int, [Product Name] nvarchar(50), [List Price] money), ([Product Name] nvarchar(50), [Number of Orders] int) ); --END WITH RESULT SETS
  • 8. --SYS.SP_DESCRIBE_FIRST_RESULT_SET --old command returns colum names but not data USE AdventureWorks2008R2; GO SET FMTONLY ON; GO SELECT * FROM AdventureWorks2008R2.HumanResources.Employee; SET FMTONLY OFF; EXEC sys.sp_describe_first_result_set N'SELECT * FROM AdventureWorks2008R2.HumanResources.Employee;'; --Has two result sets, but first is always known EXEC AdventureWorks2008R2.Production.ProductList '%Chain%'; EXEC sys.sp_describe_first_result_set N'AdventureWorks2008R2.Production.ProductList ''%Chain%'''; EXEC sys.sp_describe_first_result_set N'IF (1=1) BEGIN EXEC AdventureWorks2008R2.Production.ProductList ''%Chain%'' END ELSE BEGIN
  • 9. EXEC AdventureWorks2008R2.dbo.uspGetBillOfMaterials 1 END'; --END describe first result set --Date/Time functions --Date Time from Parts SELECT DATEFROMPARTS(2011,8,6); SELECT DATETIME2FROMPARTS(2011,8,6,14,30,59,12345,7); --End of month SELECT EOMONTH(GETDATE()); --END Date/Time --Conversion functions --PARSE ( string_value AS data_type [ USING culture ] ) SELECT PARSE('August 6, 2011' AS SMALLDATETIME); SELECT PARSE('ABCDE' AS SMALLDATETIME); --TRY_PARSE ( string_value AS data_type [ USING culture ] ) SELECT TRY_PARSE('August 6, 2011' AS SMALLDATETIME); SELECT TRY_PARSE('ABCDE' AS SMALLDATETIME); --TRY_CONVERT ( data_type [ ( length ) ], expression [, style ] ) SELECT CONVERT(VARCHAR,GETDATE(),101); SELECT CONVERT(INT,'123'); SELECT CONVERT(INT, 'ABC'); SELECT TRY_CONVERT(INT, 'ABC'); --END CONVERSION
  • 10. --Logical Functions --IIF --Current CASE SELECT CASE WHEN 1 = 2 THEN '1 equals 2' ELSE '1 does not equal 2' END; SELECT IIF(1 = 2, '1 equals 2','1 does not equal 2'); Use AdventureWorks2008R2; GO SELECT ProductID, IIF(Color IS NOT NULL,Color, 'No color recorded') AS Color FROM Production.Product; --CHOOSE SELECT ProductID, CHOOSE(ProductID % 3 + 1,'Apples','Oranges','Pears') FROM Production.Product; --END Logical functions --String functions --CONCAT SELECT ProductID, Color, Size, Color + ' ' + Size FROM Production.Product WHERE Color IS NOT NULL OR Size IS NOT NULL; SELECT ProductID, Color, Size, CONCAT(Color,' ',Size) FROM Production.Product WHERE Color IS NOT NULL OR Size IS NOT NULL; --FORMAT SELECT FORMAT(GETDATE(),'MM/dd/yyyy');
  • 11. SELECT FORMAT(GETDATE(),'MMMM dd, yyyy'); SELECT FORMAT(1234,'C'); --END String functions --END String functions CONCAT (Transact-SQL) FORMAT (Transact-SQL)
  • 12. --OFFSET /* --NEAR USE AdventureWorks2008R2; GO SELECT DocumentNode,Title FROM Production.Document WHERE CONTAINS(Document,'Reflector NEAR Assembly'); SELECT DocumentNode,Title FROM Production.Document WHERE CONTAINS(Document,'NEAR((Reflector, Assembly),5)'); SELECT DocumentNode, Title, Document, KEY_TBL.RANK FROM Production.Document AS DocTable INNER JOIN CONTAINSTABLE(Production.Document, Document, '(Reflector NEAR Assembly)' ) AS KEY_TBL
  • 13. ON DocTable.DocumentNode = KEY_TBL.[KEY] ORDER BY KEY_TBL.RANK; --must be in order SELECT DocumentNode,Title FROM Production.Document WHERE CONTAINS(Document,'NEAR((Reflector, Assembly),5, TRUE)'); --END */ /* --Compare to TOP, but TOP doesn't have a skip option SET STATISTICS IO ON; SELECT TOP(1000) Name, ProductID FROM Production.Product ORDER BY Name; SELECT Name, ProductID FROM Production.Product ORDER BY Name OFFSET 0 ROWS FETCH NEXT 1000 ROWS ONLY; SET STATISTICS IO OFF; */ /* --Paging example from BOL, with an enhancement! -- Ensure the database can support the snapshot isolation level set for the query. IF (SELECT snapshot_isolation_state FROM sys.databases WHERE name = N'AdventureWorks2008R2') = 0 ALTER DATABASE AdventureWorks2008R2 SET ALLOW_SNAPSHOT_ISOLATION ON;
  • 14. GO -- Set the transaction isolation level to SNAPSHOT for this query. SET TRANSACTION ISOLATION LEVEL SNAPSHOT; GO -- Beging the transaction BEGIN TRANSACTION; GO -- Declare and set the variables for the OFFSET and FETCH values. DECLARE @StartingRowNumber int = 1 , @RowCountPerPage int = 3; -- Create the condition to stop the transaction after all rows have been returned. WHILE (SELECT COUNT(*) FROM HumanResources.Department) >= @StartingRowNumber BEGIN -- Run the query until the stop condition is met. SELECT DepartmentID, Name, GroupName, COUNT(*) OVER()/@RowCountPerPage AS TotalPages FROM HumanResources.Department ORDER BY DepartmentID ASC OFFSET @StartingRowNumber - 1 ROWS FETCH NEXT @RowCountPerPage ROWS ONLY; -- Increment @StartingRowNumber value. SET @StartingRowNumber = @StartingRowNumber + @RowCountPerPage; CONTINUE END; GO
  • 15. COMMIT TRANSACTION; GO; SET TRANSACTION ISOLATION LEVEL READ COMMITTED; */ /* USE AdventureWorks2008R2; GO SELECT BusinessEntityID, TerritoryID ,DATEPART(yy,ModifiedDate) AS SalesYear ,CONVERT(varchar(20),SalesYTD,1) AS SalesYTD ,CONVERT(varchar(20),AVG(SalesYTD) OVER (PARTITION BY TerritoryID ORDER BY DATEPART(yy,ModifiedDate) ),1) AS MovingAvg ,CONVERT(varchar(20),SUM(SalesYTD) OVER (PARTITION BY TerritoryID ORDER BY DATEPART(yy,ModifiedDate) ),1) AS CumulativeTotal FROM Sales.SalesPerson WHERE TerritoryID IS NULL OR TerritoryID < 5 ORDER BY TerritoryID,SalesYear; */