Substitute of% ROWTYPE in SQL Server

1

Hi, I would like to know if there is a substitute for the% ROWTYPE statement in SQL SERVER I would like to create something like that but I can not find how to do it

PROCEDURE mostrar(pdni IN VARCHAR2) is
tupla poblacion_tv%ROWTYPE;

BEGIN
    SELECT * INTO tupla
    FROM poblacion
    WHERE dni=borrar.pdni;
    DBMS_OUTPUT.PUT_LINE(tupla.dni|| ' ' || tupla.nombre);
END borrar;
    
asked by xirOk 05.01.2018 в 21:11
source

1 answer

0

There is no % ROWTYPE function on sql server what you have to do is save your data in variables or you can create a table variable as follows:

declare @variable tabla (col1 int,col2 int)
insert into @Fields
select col1,col2
from tabla1
SELECT * from @variable 

or declaring varibles in this way:

DECLARE @External_ID                AS BIGINT = NULL;
DECLARE @PlatformID                 AS INT = NULL;
DECLARE @ActorIDOfReseller          AS INT = NULL;
DECLARE @ActorIDOfClient            AS INT = NULL;
DECLARE @ActorIDOfExtension         AS INT = NULL;
DECLARE @CallType                   AS NCHAR (10) = NULL;
DECLARE @CallInitiatedDate          AS DATE = NULL;
DECLARE @CallInitiatedTimeHH24MI    AS TIME (0) = NULL;
DECLARE @TimePeriodID               AS INT = NULL;
DECLARE @CallAnswered               AS DATETIME = NULL;
DECLARE @CallAnsweredYN             AS BIT = NULL;
DECLARE @CallDispositionID          AS INT = NULL;
DECLARE @CountryID                  AS INT = NULL;
DECLARE @CallPrefixID               AS INT = NULL;
DECLARE @FromNumber                 AS VARCHAR (32) = NULL;
DECLARE @ToNumber                   AS VARCHAR (80) = NULL;
DECLARE @CallDuration               AS INT = NULL;
DECLARE @CallCostToExtension        AS DECIMAL (10, 6) = NULL;
DECLARE @CallCostToClient           AS DECIMAL (10, 6) = NULL;
DECLARE @CallCostToReseller         AS DECIMAL (10, 6) = NULL;
DECLARE @CallCostToAdmin            AS DECIMAL (10, 6) = NULL;
DECLARE @Flow                       AS VARCHAR (3) = NULL;
DECLARE @CallStart                  AS DATETIME = NULL;
DECLARE @MoneyUnit                  AS VARCHAR (32) = NULL;
DECLARE @Prefix                     AS VARCHAR (32) = NULL;
DECLARE @External_CallID            AS VARCHAR (255) = NULL;
    
answered by 05.01.2018 в 21:25