Friday, 20 January 2017

Column Exists In SQL Server Table

IF EXISTS
(
          SELECT 1 
          FROM   SYS.COLUMNS 
          WHERE  NAME = N'EMPID' 
                       AND OBJECT_ID = OBJECT_ID(N'EMPLOYEEMAST')

BEGIN 
          PRINT 'COLUMN EXISTS !!' 
END 

Using Common Table Expression (CTE) In Sql Server

WITH EMPCTE (EMP_CODE,  EMP_NAME,  REMARK) 
AS ( SELECT EMP_CODE, 
                     EMP_NAME, 
                     REMARK, 
                     BIRTHDATE, 
                     JOINDATE 
         FROM   EMPMAST
      ) 

SELECT EMP_CODE, 
            EMP_NAME, 
            REMARK 
 FROM   EMPCTE  AS CTE 

Thursday, 19 January 2017

Find The Number Of Users Connected To A SQL Server DATABASE

SELECT  D_E_S.DATABASE_ID,
DB_NAME(D_E_S.DATABASE_ID) AS DataBaseName,
COUNT(D_E_S.SESSION_ID) AS Total_Connection,
D_E_S.ORIGINAL_LOGIN_NAME AS Org_Login_Name,
D_E_S.HOST_NAME AS ComputerName
FROM SYS.DM_EXEC_SESSIONS D_E_S
WHERE D_E_S.DATABASE_ID = 5
GROUP BY D_E_S.DATABASE_ID,D_E_S.ORIGINAL_LOGIN_NAME,D_E_S.HOST_NAME
ORDER BY 1,2,3

Table Variables With Using Primary Keys and Indexes


Declaring a Table Variable with a Primary Key


DECLARE @SQLFORMMAST TABLE
(       
           FORMID INT NOT NULL,        
           FORMNAME VARCHAR(100),        
           DESCRIPTION NVARCHAR(100),    
           PRIMARY KEY (FORMID)
)



Declaring a Table Variable with a Composite Primary Key



DECLARE @SQLFORMMAST TABLE

(       
           FORMID INT NOT NULL,        
           FROMNAME VARCHAR(100),        
           DESCRIPTION NVARCHAR(100)               
  PRIMARY KEY (FORMID)
)

Declaring a Table Variable with a Composite Unique Index


DECLARE @SQLFORMMAST TABLE
(       
           FORMID INT PRIMARY KEY,        
           FORMNAME VARCHAR(100),        
           DESCRIPTION NVARCHAR(100)               
  UNIQUE CLUSTERED (FORMID) 
)

Working With The TRY…CATCH Block

DECLARE @COLUMNID int,
        @COLUMNNAME int

BEGIN
  BEGIN TRY
    BEGIN TRANSACTION
      UPDATE TABLENAME
      SET COLUMNNAME = @COLUMNNAME
      WHERE COLUMNID = @COLUMNID
    COMMIT TRANSACTION
  END TRY
  BEGIN CATCH
    IF @@TRANCOUNT > 0
      ROLLBACK TRANSACTION
    DECLARE @ErrorNumber int = ERROR_NUMBER()
    DECLARE @ErrorLine int = ERROR_LINE()
    DECLARE @ErrorMessage nvarchar(4000) = ERROR_MESSAGE()
    DECLARE @ErrorSeverity int = ERROR_SEVERITY()
    DECLARE @ErrorState int = ERROR_STATE()

    PRINT 'Actual Error Number: ' + CAST(@ErrorNumber AS varchar(10))
    PRINT 'Actual Line Number: ' + CAST(@ErrorLine AS varchar(10))

    RAISERROR (@ErrorMessage, @ErrorSeverity, @ErrorState)
  END CATCH
END
GO

Return Custom Error Message

DECLARE @CustomErrorString varchar(100),
              @Value int = 5
IF @Value >= 5
BEGIN
  SET @CustomErrorString = 'Value Is Greater Than or Equal To ' + CONVERT(varchar(10), @Value)
  RAISERROR (@CustomErrorString, 10, 1, 50, 50);
  RETURN --Exit Now
END

Friday, 16 December 2016

Cross - Database Dependencies

SELECT  OBJECT_NAME (REFERENCING_ID) AS REFERENCING_OBJECT,
REFERENCED_DATABASE_NAME,
REFERENCED_SCHEMA_NAME, REFERENCED_ENTITY_NAME
FROM SYS.SQL_EXPRESSION_DEPENDENCIES
WHERE 1 = 1
AND REFERENCED_DATABASE_NAME IS NOT NULL
AND IS_AMBIGUOUS = 0