Skip to main content

SQL NEW INSERT STORE PROCEDURE DYNAMICALLY

IF EXISTS (
        SELECT *
        FROM dbo.sysobjects
        WHERE id = object_id(N'[dbo].[test_create_procedure]')
            AND OBJECTPROPERTY(id, N'IsProcedure') = 1
        )
    DROP PROCEDURE [dbo].[test_create_procedure]
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_NULLS OFF
GO

ALTER PROCEDURE create_procedure @table VARCHAR(200),
    @DeveloperName VARCHAR(200),
    @Createtable VARCHAR(20)
    --create_procedure 'Products','VISHAL','Products'
AS
SET NOCOUNT ON

DECLARE @testTable VARCHAR(8000)
DECLARE @testTable2 VARCHAR(8000)
DECLARE @testTable3 VARCHAR(8000)
DECLARE @opration VARCHAR(8000)
DECLARE @testTable_UPDATE VARCHAR(8000)
DECLARE @final VARCHAR(8000)
DECLARE @OP VARCHAR(100)

SET @testTable = ''
SET @testTable2 = ''
SET @final = ''
SET @testTable3 = ''
SET @testTable_UPDATE = ''
SET @opration = ''

DECLARE @Datetime VARCHAR(50)

SET @Datetime = getdate()

SELECT @testTable = @testTable + ',
            ' + column_name
FROM information_schema.columns
WHERE table_name = @table
    AND (COLUMNPROPERTY(OBJECT_ID(@table), column_name, 'isidentity') = 0)

SELECT @testTable2 = @testTable2 + ',
@' + column_name + '  ' + data_type + '(' + cast(character_maximum_length AS VARCHAR(10)) + ')' + CASE is_nullable
        WHEN 'no'
            THEN ' '
        WHEN 'yes'
            THEN '=null'
        END
FROM information_schema.columns
WHERE table_name = @table
    AND character_maximum_length <> NULL
    AND (column_default IS NULL)
    AND data_type <> 'text'

SELECT @testTable2 = @testTable2 + ',
@' + column_name + '  ' + data_type
FROM information_schema.columns
WHERE table_name = @table
    AND (COLUMNPROPERTY(OBJECT_ID(@table), column_name, 'isidentity') = 0)
    AND (
        character_maximum_length = NULL
        OR data_type = 'text'
        )

SELECT @testTable3 = @testTable3 + ',
            @' + column_name
FROM information_schema.columns
WHERE table_name = @table
    AND (COLUMNPROPERTY(OBJECT_ID(@table), column_name, 'isidentity') = 0)

SELECT @testTable_UPDATE = @testTable_UPDATE + ',
            ' + column_name + ' =@' + column_name
FROM information_schema.columns
WHERE table_name = @table
    AND (COLUMNPROPERTY(OBJECT_ID(@table), column_name, 'isidentity') = 0)

DECLARE @testTable_UPDATE_IDENTITY NVARCHAR(MAX)

SELECT @testTable_UPDATE_IDENTITY = '
            ' + column_name + ' =@' + column_name
FROM information_schema.columns
WHERE table_name = @table
    AND (COLUMNPROPERTY(OBJECT_ID(@table), column_name, 'isidentity') = 1)

SET @testTable = SUBSTRING(@testTable, 2, len(@testTable))
SET @testTable2 = SUBSTRING(@testTable2, 4, len(@testTable2))
SET @testTable3 = SUBSTRING(@testTable3, 2, len(@testTable3))
SET @testTable_UPDATE = SUBSTRING(@testTable, 2, len(@testTable_UPDATE))
SET @opration = ' insert into [' + @table + ']
            (
            ' + @testTable + '
            )
        values
            (
            ' + @testTable3 + '
            )'

DECLARE @OPERATION_UPDATE NVARCHAR(MAX)

SET @OPERATION_UPDATE = 'UPDATE [' + @table + ']
            SET ' + @testTable_UPDATE + ' WHERE [' + @testTable_UPDATE_IDENTITY + ']'

--PRINT @OPERATION_UPDATE

SET @OP = 'InsertNew' + @table
SET @final = '/*
----------------------------------------------------------------------------------------
Store Procedure Name :  SP__' + @OP + '
----------------------------------------------------------------------------------------
1- Creation Date :' + convert(VARCHAR, getdate(), 103) + '
2- Last Update   :' + convert(VARCHAR, getdate(), 103) + '
3- Parametars No:6
4- Creation By :' + @DeveloperName + '
5- Last Update By :' + @DeveloperName + '
6- Return Value : Dataset

---------------------------------------------------------------------------------------
*/
Create  PROCEDURE  SP__' + @OP + '
(
  ' + @testTable2 + '
)
AS
 set nocount on

' + @opration + '

---------------------------------------------------------------------------------------


' + @OPERATION_UPDATE + '

Select * from   [' + @table + ']'

--exec (@final)
PRINT @final
GO

SET QUOTED_IDENTIFIER OFF
GO

SET ANSI_NULLS ON
GO

--create_procedure 'Products','VISHAL','Products'

Comments

Popular posts from this blog

Editing Child GridView in Nested GridView

Editing Child GridView in Nested GridView In this article we will explore how to edit child gridview in the nested gridview.   Let''s write some code. Step 1:  Add scriptmanager in the aspx page. < asp : ScriptManager   ID ="ScriptManager1"   runat ="server"   EnablePageMethods ="true"> </ asp : ScriptManager > Step 2:  Add below stylesheet for modal popup. < style   type ="text/css">        .modalBackground        {              background-color : Gray;              filter : alpha(opacity=80);              opacity : 0.5;       }        .ModalWindow        {     ...

Hierarchical GridView in ASP.NET with AJAX, JQuery implementation - Part 1

Previously I had blogged some post related to showing two grids in hierarchical way. For example - when I need to show an invoice reports on the screen, the user requesting to show the list of invoices at initial time and they can drill down the details of item details of each invoice by clicking on respective row. The implementations can be in multiple ways, but I had blogged the implementation with AJAX and without AJAX using Java script on ASP.NET page. Below are the URLs of the same – Hierarchical GridView in ASP.NET Hierarchical GridView in ASP.NET with AJAX, Javascript implementation In this post I am taking the same requirements done before and enhance with some additional functionality as per readers expectations. The requirement on this implementation will be – The page should show a Grid View with list of Orders with Expand icon on the first column. On click of expand icon on each row, the Order Details of the Order must be fetched from the database ...

Scrollable Gridview With fixheader using JQuery in Asp.net

Scrollable Gridview With fixheader using JQuery in Asp.net Introduction: In this article I will explain how to implement scrollable gridview with fixed header in asp.net using JQuery.  Description:  In Previous posts I explained lot of articles regarding Gridview. Now I will explain how to implement scrollable gridview with fixed header in asp.net. I have one gridview that contains lot of records and I used  paging for gridview  but the requirement is to display all the records without paging. I removed paging at that time gridview occupied lot of space because it contains more records to solve this problem we implemented scrollbar.  After scrollbar implementation if we scroll the gridview we are unable to see Gridview header.   To implement Scrollable gridview with fixed header I tried to implement concept with css and JavaScript but there is no luck because maintaining fixed header working in IE but not in Mozilla and vice versa to ...