CREATE PROCEDURE SP_COLUMNAS_TABLA
@ TABLE VARCHAR (20 )
AS
BEGIN
- Create a temporary table which stores NAMES OF THE COLUMNS AND CHOOSE ALIAS FOR EACH TABLE
DECLARE @ TABLA_COLUMNAS TABLE (COLUMN varchar ( 50 ) DESCRIPTION varchar (50 ))
SET NOCOUNT ON
DECLARE @COLUMNA AS VARCHAR ( 50 )
DECLARE @ARRAY_COL AS NVARCHAR ( 500 )
DECLARE @DESCRIPCION AS VARCHAR ( 50 )
DECLARE @ ARRAY_DES AS NVARCHAR (500 )
IF @ TABLE = 'PEOPLE' BEGIN
SET @ ARRAY_COL = 'COD_PERSONA, NAME, FECHA_NACIMIENTO, '- NAMES OF THE COLUMNS IN THE TABLE1 WE WANT FILTER IN THE SEARCH, THIS BOARD MIGHT HAVE oviously more columns, JUST SELECT WE WANT THE SHOW
SET @ ARRAY_DES = 'CODE, NAME, DATE OF BIRTH,' - ALIAS COLUMN IN ORDER FOR THE NAME OF THIS FORM DESCRIBE THE TIME TO SHOW IN A FORM OF CONTROL
END
IF @ TABLA = 'CIUDADES' BEGIN
SET @ARRAY_COL = '
SET @ARRAY_DES = 'CODE, NAME,'
END
- you can even choose more columns in a table consultation
IF @ TABLE = 'CIUDAD_PERSONAS' BEGIN
SET @ ARRAY_COL = 'CIUDADES.NOMBRE , PERSONAS.NOMBRE '
SET @ ARRAY_DES = ' CITY, PERSON, '
END
WHILE LEN ( @ARRAY_COL ) <> 0
BEGIN
SET @COLUMNA = SUBSTRING ( @ARRAY_COL , 0 , CHARINDEX ( ',' , @ARRAY_COL ))
SET @ARRAY_COL = SUBSTRING ( @ARRAY_COL , CHARINDEX ( ',' , @ARRAY_COL , 0 )+ 1 , LEN ( @ARRAY_COL ))
SET @DESCRIPCION = SUBSTRING ( @ARRAY_DES , 0 , CHARINDEX ( ',' , @ARRAY_DES ))
SET @ARRAY_DES = SUBSTRING ( @ARRAY_DES , CHARINDEX ( ',' , @ARRAY_DES , 0 )+ 1 , LEN ( @ARRAY_DES ))
INSERT INTO @TABLA VALUES ( @COLUMNA , @DESCRIPCION )
END
SELECT * FROM @
END
0 comments:
Post a Comment