Friday, 27 August 2021

How to Call Query in Batch File Windows

 sqlcmd -S DB\SQLEXPRESS -d DBNAME -E -Q "QUERY HERE" -s "," -o "C:\Users\User\Desktop\Export.txt"

How to call procedure in task scheduler in windows

 sqlcmd -Q "exec SP_Test" -S DC_SRVR\SQLEXPRESS -d DBNAME -U sa -P PASSWORD -o path\yourOutput.txt

Generate Sql Table All Columns In Comma Separated List In Sql Server

ALTER FUNCTION [dbo].[ReturnTableCommaSeparted]
(
    @TABLENAME VARCHAR(max) = 'table_name'
)
RETURNS @RETURN_LIST TABLE
(
    TABLE_SCHEMA VARCHAR(MAX) NOT NULL,
    TABLE_NAME VARCHAR(MAX) NOT NULL,
    Columns_List VARCHAR(MAX) NOT NULL
)
AS
BEGIN
    INSERT INTO @RETURN_LIST
    (
        TABLE_SCHEMA,
        TABLE_NAME,
        Columns_List
    )
    SELECT TABLE_SCHEMA,
           TABLE_NAME,
           'SELECT ' + STUFF(
                       (
                           SELECT ', ' + C.COLUMN_NAME
                           FROM INFORMATION_SCHEMA.COLUMNS AS C
                           WHERE C.TABLE_SCHEMA = T.TABLE_SCHEMA
                                 AND C.TABLE_NAME = T.TABLE_NAME
                           ORDER BY C.ORDINAL_POSITION
                           FOR XML PATH('')
                       ),
                       1,
                       2,
                       ''
                            ) 
+ ' FROM ' + T.TABLE_NAME + ' WITH(NOLOCK) ' AS Columns_List
    FROM INFORMATION_SCHEMA.TABLES AS T
    WHERE (
              @TABLENAME = ''
              OR T.TABLE_NAME = @TABLENAME
          );
    RETURN;
END;

Query To Access Column Description In Sql Server

 DECLARE @TableName VARCHAR(MAX)='Constant'
SELECT 
        st.name [Table],
        sc.name [Column],
        sep.value [Description]
    from sys.tables st
    inner join sys.columns sc on st.object_id = sc.object_id
    left join sys.extended_properties sep on st.object_id = sep.major_id
                                         and sc.column_id = sep.minor_id
                                         and sep.name = 'MS_Description'
    where st.name = @TableName
    

Split String Function Comma Separated in Sql Server

  
ALTER FUNCTION [dbo].[SplitString]
(    
      @Input NVARCHAR(MAX),
      @Character CHAR(1)
)
RETURNS @Output TABLE (
      Item NVARCHAR(1000)
)
AS
BEGIN
      DECLARE @StartIndex INT, @EndIndex INT
 
      SET @StartIndex = 1
      IF SUBSTRING(@Input, LEN(@Input) - 1, LEN(@Input)) <> @Character
      BEGIN
            SET @Input = @Input + @Character
      END
 
      WHILE CHARINDEX(@Character, @Input) > 0
      BEGIN
            SET @EndIndex = CHARINDEX(@Character, @Input)
           
            INSERT INTO @Output(Item)
            SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - 1)
           
            SET @Input = SUBSTRING(@Input, @EndIndex + 1, LEN(@Input))
      END
 
      RETURN
END
 
GO

How to split varchar value and interger value in sql server

 DECLARE @RESULT VARCHAR(50);
DECLARE @data VARCHAR(100) = 'split123resultmyresult456';
DECLARE @RES_VARCHARVALUE VARCHAR(50) = '';
DECLARE @RES_INTVALUE VARCHAR(50) = '';
DECLARE DefaultCursor CURSOR LOCAL FOR 
WITH CTE
AS
(
    SELECT   STUFF(@data, 1, 1, '') AS TXT, LEFT(@data, 1) AS Col1
    UNION ALL
    SELECT   STUFF(TXT, 1, 1, '') AS TXT, LEFT(TXT, 1) AS Col1 FROM   CTE WHERE LEN(TXT) > 0
)
SELECT  Col1 FROM  CTE;
OPEN DefaultCursor;
FETCH NEXT FROM DefaultCursor
INTO @RESULT;
WHILE @@FETCH_STATUS = 0 
BEGIN
    PRINT @RESULT
    IF( @RESULT NOT LIKE '%[^0-9]%' )
BEGIN  SET @RES_VARCHARVALUE = @RES_VARCHARVALUE + @RESULT END
    ELSE 
BEGIN  SET @RES_INTVALUE = @RES_INTVALUE + @RESULT END
    FETCH NEXT FROM DefaultCursor
    INTO @RESULT
END;
CLOSE DefaultCursor
DEALLOCATE DefaultCursor
SELECT  @RES_VARCHARVALUE
SELECT  @RES_INTVALUE

How to Linked Server With Static IP in Sql Server

EXEC master.dbo.sp_addlinkedserver 
@server = N'11.11.11.11',
@srvproduct=N'SQLNCLI11', 
@provider=N'SQLNCLI11', 
@datasrc=N'11.11.11.11'
EXEC sp_addlinkedsrvlogin 
   '11.11.11.11', 
   'false', 
   'sa', 
   'sa', 
   'password'