Tags

, , , , , , , , , , ,

I have been using T-SQL for some time now in a project where we are migrating an application from Mainframes (Using DB2) to Azure (SQL Server). Below are few differences that I have noted. I will keep adding to the list as and when I come across new ones.

1. To select data from table without having any locks on it

DB2 SQL – Uses “WITH UR” at the end of the SQL statement

SELECT *
FROM SYSIBM.SYSTABSTATS
WITH UR;

T-SQL – Uses “(NOLOCK)” right after the table name

SELECT *
FROM SYSIBM.SYSTABSTATS (NOLOCK)
;

2. To select only first “n” rows from the returned result set of the query

DB2 SQL – Uses “FETCH FIRST n ROWS ONLY” at the end

SELECT *
FROM SYSIBM.SYSTABSTATS
FETCH FIRST 100 ROWS ONLY
WITH UR;

T-SQL – Uses “Top n” after the SELECT

SELECT TOP 100 *
FROM SYSIBM.SYSTABSTATS (NOLOCK)
;

More coming …

 

Advertisements