Anda di halaman 1dari 4

-- Variables (batch scoped) declare @var1 int set @var1 = 100 select @var1 go --OR declare @var1 int

select @var1 = 100 select @var1

-- STORED PROCEDURES: CREATE PROCEDURE USP_COMPUTESUM (@VAR1 INT, @VAR2 INT, @VAR3 INT) AS BEGIN DECLARE @SUM INT SET @SUM = @VAR1 + @VAR2 + @VAR3 SELECT @SUM END EXECUTE USP_COMPUTESUM 1200, 1345, 5679

CREATE PROC USP_COMPUTESUM_V2 @VAR1 INT, @VAR2 INT, @VAR3 INT AS DECLARE @SUM INT SELECT @SUM = @VAR1 + @VAR2 + @VAR3 SELECT @SUM

EXEC USP_COMPUTESUM_V2 101,100,200 EXEC USP_COMPUTESUM_V2 @VAR2 = 100, @VAR1 = 101, @VAR3 = 200

SELECT * FROM FLIGHT CREATE PROC USP_FLIGHTINS @SRC VARCHAR(30), @DST VARCHAR(30), @ACR VARCHAR(30) AS BEGIN INSERT INTO FLIGHT VALUES(@SRC,@DST,@ACR) END EXEC USP_FLIGHTINS 'SRC1','DEST1','AC1'

select * from EMP_TABLE ALTER TABLE EMP_TABLE ADD EMP_LOC VARCHAR(30) NOT NULL DEFAULT 'HYD'

CREATE PROC UPS_INS_EMPDATA @ID INT, @NAME VARCHAR(30), @SAL INT, @GENDER CHAR(1), @LOC VARCHAR(3) AS BEGIN IF @SAL > 20000 AND @GENDER = 'M' INSERT INTO EMP_TABLE VALUES(@ID,@NAME,@SAL,'M',@LOC) ELSE IF @SAL > 20000 AND @GENDER = 'F' AND @LOC = 'HYD' PRINT 'INVALID INSERT. SALARY FOR MALES CANNOT BE GREATER THAN 20000' ELSE INSERT INTO EMP_TABLE VALUES(@ID,@NAME,@SAL,'M',@LOC) END

EXEC UPS_INS_EMPDATA 10003, 'NAME3', 12000, 'M', 'BNG' EXEC UPS_INS_EMPDATA 10003, 'NAME3', 12000, 'F', 'BNG' EXEC UPS_INS_EMPDATA 10003, 'NAME3', 22000, 'F', 'HYD'

-- DYNAMIC SQL --GIVEN A DATABASE, I WANTED LIST OF TABLES ALTER PROC USP_RET_TABLE_LIST ( @DB_NAME SYSNAME = NULL) AS BEGIN DECLARE @QUERY NVARCHAR(50) IF @DB_NAME IS NULL SET @QUERY = N'SELECT * FROM SYS.TABLES' ELSE SET @QUERY = N'SELECT * FROM '+ @DB_NAME +'.SYS.TABLES' EXECUTE SP_EXECUTESQL @QUERY END EXEC USP_RET_TABLE_LIST 'EMPLOYEE_DATABASE' EXEC USP_RET_TABLE_LIST

-- SYSTEM PROCEDURES: EXEC SP_HELPDB SELECT * FROM SYSDATABASES SELECT * FROM SYSFILES EXEC SP_HELPDB 'EMPLOYEE_DATABASE' EXEC SP_HELP 'EMP_TABLE' EXEC SP_HELP 'UPS_INS_EMPDATA' CREATE TABLE TEST_EMPDETAILS ( EMP_ID INT, EMP_ALT_ID INT, CONSTRAINT PK_EMP_IDS PRIMARY KEY(EMP_ID, EMP_ALT_ID) ) EXEC SP_PKEYS 'TEST_EMPDETAILS'

EXEC SP_HELPINDEX 'TEST_EMPDETAILS' EXEC SP_HELPTEXT 'UPS_INS_EMPDATA' EXEC SP_DEPENDS 'EMP_TABLE'

ALTER PROC UPS_INS_EMPDATA @ID INT, @NAME VARCHAR(30), @SAL INT, @GENDER CHAR(1), @LOC VARCHAR(3) WITH ENCRYPTION AS BEGIN IF @SAL > 20000 AND @GENDER = 'M' INSERT INTO EMP_TABLE VALUES(@ID,@NAME,@SAL,'M',@LOC) ELSE IF @SAL > 20000 AND @GENDER = 'F' AND @LOC = 'HYD' PRINT 'INVALID INSERT. SALARY FOR MALES CANNOT BE GREATER THAN 20000' ELSE INSERT INTO EMP_TABLE VALUES(@ID,@NAME,@SAL,'M',@LOC) END

EXEC SP_EXECUTESQL N'CREATE DATABASE DB_TEST'

EXEC SP_EXECUTESQL N'CREATE TABLE TAB_SP1(COL1 INT)' EXEC SP_EXECUTESQL N'INSERT INTO TAB_SP1 VALUES(1)' EXEC SP_EXECUTESQL N'SELECT * FROM TAB_SP1'

-- MASTER STORED PROCEDURES: USE MASTER CREATE PROC SP_RET_TABLE_LIST ( @DB_NAME SYSNAME = NULL) AS BEGIN DECLARE @QUERY NVARCHAR(50) IF @DB_NAME IS NULL SET @QUERY = N'SELECT * FROM SYS.TABLES' ELSE SET @QUERY = N'SELECT * FROM '+ @DB_NAME +'.SYS.TABLES' EXECUTE SP_EXECUTESQL @QUERY END USE TEMPDB EXEC SP_RET_TABLE_LIST

USE MASTER CREATE PROC USP_RET_TABLE_LIST ( @DB_NAME SYSNAME = NULL) AS BEGIN

DECLARE @QUERY NVARCHAR(50) IF @DB_NAME IS NULL SET @QUERY = N'SELECT * FROM SYS.TABLES' ELSE SET @QUERY = N'SELECT * FROM '+ @DB_NAME +'.SYS.TABLES' EXECUTE SP_EXECUTESQL @QUERY END USE TEMPDB EXEC USP_RET_TABLE_LIST

Anda mungkin juga menyukai