0% found this document useful (0 votes)
5 views

I2DB_Short introduction to T-SQL programming.sql

Uploaded by

baohq712
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

I2DB_Short introduction to T-SQL programming.sql

Uploaded by

baohq712
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

-- Assign a value into a variable : using SET or SELECT

DECLARE @empName NVARCHAR(20), @empSSN AS DECIMAL, @empSalary DECIMAL=1000


SET @empName=N'Mai Duy An'
SET @empSalary=2000
PRINT @empName
PRINT @empSalary

-- Assign a value into a variable using SQL command : SELECT or UPDATE


DECLARE @empName NVARCHAR(20), @empSalary DECIMAL=1000
SELECT @empName=empName, @empSalary=empSalary
FROM tblEmployee
WHERE empName=N'Mai Duy An'
PRINT @empName
PRINT @empSalary

UPDATE tblEmployee
SET @empSalary=empSalary, @empSalary=empSalary
WHERE empName=N'Mai Duy An'
PRINT @empName
PRINT @empSalary

-- Converts an expression from one data type to a different data type : using CAST
or CONVERT function
DECLARE @empName NVARCHAR(20), @empSalary DECIMAL
SET @empName=N'Mai Duy An'
SET @empSalary=1000
PRINT @empName + '''s salary is ' + CAST(@empSalary AS VARCHAR)
PRINT @empName + '''s salary is ' + CONVERT(VARCHAR, @empSalary)

-- using IF statement
DECLARE @workHours DECIMAL, @bonus DECIMAL

SELECT @workHours=COUNT(workHours)
FROM tblWorksOn
WHERE empSSN=30121050027
GROUP BY empSSN

IF (@workHours > 300)


SET @bonus=1000
ELSE
SET @bonus=1000
PRINT @bonus

-- CASE ... WHEN statement


DECLARE @depNum DECIMAL, @str NVARCHAR(30)
SET @str=
CASE @depNum
WHEN 1 THEN N'Phòng ban số 1'
WHEN 2 THEN N'Phòng ban số 2'
ELSE N'Mã phòng ban khác 1, 2'
END
PRINT @str

-- using CASE ... WHEN statement with SELECT SQL statement


DECLARE @womanDayBonus DECIMAL
SELECT @womanDayBonus =
CASE empSex
WHEN 'F' THEN 500
WHEN 'M' THEN 0
END
FROM tblEmployee
WHERE empSSN=30121050004
PRINT @womanDayBonus

-- WHILE statement
DECLARE @factorial INT, @n INT
SET @n=5
SET @factorial=1

WHILE (@n > 1)


BEGIN
SET @factorial = @factorial*@n
SET @n = @n -1
END
PRINT @factorial

-- Handling Error with @@ERROR function


SELECT *
FROM tblDepartment

BEGIN TRANSACTION
INSERT INTO tblDepartment(depNum,depName)
VALUES(6, N'Phòng Kế Toán');

INSERT INTO tblDepartment(depNum,depName)


VALUES(6, N'Phòng Kế Toán');

IF @@ERROR<>0
BEGIN
ROLLBACK TRANSACTION
PRINT @@ERROR
END
COMMIT TRANSACTION

-- Handling Error with TRY ... CATCH


SELECT *
FROM tblDepartment

BEGIN TRANSACTION --begin transaction


BEGIN TRY
--oparations
INSERT INTO tblDepartment(depNum,depName)
VALUES(6, N'Phòng Kế Toán');

INSERT INTO tblDepartment(depNum,depName)


VALUES(6, N'Phòng Kế Toán');
COMMIT TRANSACTION --commit the transaction
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
PRINT ERROR_NUMBER()
PRINT ERROR_MESSAGE()
END CATCH

You might also like