download.microsoft.comdownload.microsoft.com/.../sql08_r2_selflearning05_t…  · web viewccent ....

Click here to load reader

Upload: vankhanh

Post on 04-Feb-2018

221 views

Category:

Documents


6 download

TRANSCRIPT

SQL Server 2008 R2 No.5

Transact-SQL

Published: 2008 4 6

SQL Server 2008 R2 : 2010 6 24

SQL Server 2008 No.1 SQL Server

2

( Microsoft Corporation Microsoft MicrosoftSQL ServerVisual StudioWindowsWindows XPWindows ServerWindows Vista Microsoft Corporation Copyright 2010 Microsoft Corporation. All rights reserved.)

SQL Server 2008 R2 No. Transact-SQL

93

STEP 1.Transact-SQL 5

1.1Transact-SQL 6

1.27

1.3 8

STEP 2.Transact-SQL 10

2.1DECLARE11

2.213

2.314

2.4go16

2.517

2.6-- /* */18

2.7PRINT 19

STEP 3.21

3.1IF 22

3.2IF ELSE24

3.3IF EXISTSIF NOT EXISTS26

3.4CASE 28

3.5WHILE 30

3.6+=31

3.7GOTO 32

3.8WAITFOR DELAY 33

3.9Oracle PL/SQL 34

STEP 4.Collation35

4.136

4.2Japanese_CI_AS SQL Server 2008 R2 38

4.341

4.443

4.5SQL 46

STEP 5.48

5.149

5.2 charvarchar50

5.38,000 varchar(max)53

5.4Unicode ncharnvarchar54

5.5 tinyintsmallintintbigint59

5.6 decimalnumeric63

5.7 realfloat65

5.8 smallmoneymoney66

5.9datetimedatetimedatetime2datetimeoffset68

STEP 6.74

6.175

6.2 CONVERTCAST80

6.385

6.489

6.5NULL 90

6.691

6.7Oracle 94

STEP 1. Transact-SQL

STEP Transact-SQL

STEP

Transact-SQL

Transact-SQL

Transact-SQL

Transact-SQLT-SQLSQL Server SQL Server Transact-SQL

SQL Server SQL Server Transact-SQL

SQLANSI SQL92 Transact-SQL

RDBSELECTINSERTUPDATEDELETESQL ANSI ISOJISCSQL SQL SQL

1992ANSI SQL92SQL 1999SQL992003SQL2003

SQL SQL Server Transact-SQL Oracle PL/SQLPostgreSQL PL/pgSQL SQL Dialect

OS

Windows Server 2003 SP2Service Pack 2 Windows Server 2003 R2 SP2 Windows XP Professional SP3 Windows Vista Windows 7 Windows Server 2008 SP2 Windows Server 2008 R2

SQL Server 2008 R2

OS Windows Server 2008 R2x64 SQL Server 2008 R2 Enterprise x64

Management Studio CreateTableEmp.txtsampleDBemp

Management Studio Microsoft SQL Server 2008 R2SQL Server Management Studio

SQL Server

1. Management Studio

1. Windows CreateTableEmp.txt

sampleDBempemp 9STEP 3

STEP 2. Transact-SQL

STEP Transact-SQL PRINT

STEP

DECLARE

go

-- /* */

PRINT

DECLARE

Transact-SQL Local VariableDECLARESELECTSET

DECLARE

DECLARE @

@STEP5

SELECT SET

SELECT @ =

SET @ =

Let's Try

1. Management Studio int@x

DECLARE @x int

SELECT @x = 88

SELECT @x

DECLARE @xSELECT "88" SELECT @x

SELECT SET

DECLARE @y int

SET @y = 66

SELECT @y

Transact-SQL DECLARESELECTSET

SQL Server 2008 DECLARE

DECLARE @ =

=

Let's Try

1. @z "888"

DECLARE @z int = 888

SELECT @z

SQL Server 2008

DECLARE

DECLARE @1 [= ], @2 [= ],

,

Let's Try

1. @x@y@z 3

DECLARE @x int, @y int, @z varchar(20)

SELECT @x = 88

SELECT @y = 99

SELECT @z = 'AAAAA'

SELECT @x, @y, @z

SELECT

SELECT

DECLARE @x int, @y int, @z varchar(20)

SELECT @x = 88, @y = 99, @z = 'AAAAA'

SELECT @x, @y, @z

SELECT

DECLARE @x int = 88, @y int = 99, @z varchar(20) ='AAAAA'

SELECT @x, @y, @z

Note SET

SET SELECT

SET 11

go

Transact-SQL SQL Server 1

DECLARE

go

Transact-SQL gogo

DECLARE go

go

Transact-SQL ;

Let's Try

1.

DECLARE @x int;SELECT @x = 99;SELECT @x;

DECLARE SELECT 1;

1.

DECLARE @x int SELECT @x = 99 SELECT @x

Note Transact-SQL

Transact-SQL

-- /* */

Transact-SQL --2/**/ -- 1/**/

Let's Try

1. --1

DECLARE @x int --

SELECT @x = 99 --

--

SELECT @x

--

/**/

/*

*/

/**/

PRINT

PRINT

PRINT

PRINT ''

PRINT SQL

Let's Try

1.

PRINT ''

PRINT

DECLARE @x int

SELECT @x = 99

PRINT @x

Transact-SQL +

DECLARE @x int

SELECT @x = 99

PRINT '' + @x

@x intTransact-SQL Visual Basic

CONVERTvarcharSTEP5 STEP6

DECLARE @x int

SELECT @x = 99

PRINT ' ' + CONVERT( varchar, @x )

Note CONVERT CAST

STEP6 CONVERT CAST CAST

STEP 3.

STEP Transact-SQL IFIF EXISTSCASE WHILE

STEP

IF

IF ELSE

IF EXISTSIF NOT EXISTS

CASE

WHILE

+=

GOTO

WAITFOR DELAY

IF

IF

Transact-SQL IF

IF ()

[ BEGIN ]

true

[ END ]

BEGIN END 1

Let's Try

1.

DECLARE @x int

SET @x = DATEPART( hour, GETDATE() )

IF @x < 12

BEGIN

PRINT ''

END

GETDATE DATEPART @x STEP6

IF @x < 12 1212

IF

IF ( @x < 12 )

BEGIN

PRINT ''

END

BEGIN END

IF 1BEGIN END

IF @x < 12

PRINT ''

Note BEGIN END

BEGIN END 1

IF @x < 12

PRINT ''

SELECT * FROM emp

IF SELECT * FROM emp

IF @x < 12

BEGIN

PRINT ''

END

SELECT * FROM emp

SELECT * FROM empBEGIN END

IF ELSE

IF ELSE

Transact-SQL ELSE IF

IF

[ BEGIN ]

true

[ END ]

ELSE

[ BEGIN ]

false

[ END ]

Let's Try

1. STEP ELSE

DECLARE @x int

SET @x = DATEPART( hour, GETDATE() )

IF @x < 12

BEGIN

PRINT ''

END

ELSE

BEGIN

PRINT ''

ENDIF

0 12

IF ELSE 1BEGIN END

IF @x < 12

PRINT ''

ELSE

PRINT ''

IF

IF IF IF

012

12517

517

DECLARE @x int

SET @x = DATEPART( hour, GETDATE() )

IF @x < 12

BEGIN

PRINT ''

END

ELSE

BEGIN

IF @x < 17

BEGIN

PRINT ''

END

ELSE

BEGIN

PRINT ''

END

END

IF Transact-SQL ElseIf IF

IF EXISTSIF NOT EXISTS

IF EXISTSIF NOT EXISTS

IF EXISTS IF NOT EXISTS SELECT Exist

IF [ NOT ] EXISTS ( SELECT

[ BEGIN ]

[ END ]

ELSE

[ BEGIN ]

[ END ]

IF EXISTS SELECT Exist BEGIN END IF NOT EXISTS

Let's Try

1. sampleDBemp SELECT IF EXISTS

USE sampleDB

IF EXISTS ( SELECT * FROM emp )

BEGIN

PRINT ''

END

emp 9PRINT

WHERE empno=9999ELSE

IF EXISTS ( SELECT * FROM emp

WHERE empno = 9999 )

BEGIN

PRINT ''

END

ELSE

BEGIN

PRINT ''

END

emp empno 9999ELSE PRINT

IF NOT EXISTS

IF NOT EXISTS ( SELECT * FROM emp

WHERE empno = 9999 )

BEGIN

PRINT ''

END

CASE

CASE

CASE Visual Basic Select CaseC Java switch

CASE [ ]

WHEN 1 THEN 1

WHEN 2 THEN 2

:

ELSE

END

CASE IF IF EXISTS SELECT

Let's Try

1. STEP IF CASE

DECLARE @x int

SET @x = DATEPART( hour, GETDATE() )

SELECT

CASE

WHEN @x < 12 THEN ''

WHEN @x < 17 THEN ''

ELSE ''

END

0 12 12 17

CASE

CASE SELECT IF IF EXISTS CASE THEN PRINT

CASE

CASE

SELECT @msg=''SELECT @msg=''@msg @x STEP IF CASE

WHILE

WHILE

WHILE

WHILE ()

[ BEGIN ]

[ END ]

IF 1BEGIN END

Let's Try

1. @x@x