Reputation:
I am trying to translate this Oracle Scripts to MSSQL:
C_LIFECO CONSTANT CHAR(1) := '2';
C_FSUCO CONSTANT CHAR(1 CHAR) := '9';
C_LIFEBR CONSTANT CHAR(2 CHAR) := '10';
C_USR CONSTANT CHAR(10 CHAR) := 'MTLBATCH';
C_JOBNM CONSTANT CHAR(10 CHAR) := 'L2DATAMIGR';
C_INFO CONSTANT ROW_NUMBER(8) := 2;
C_SECTION_CNT CONSTANT ROW_NUMBER(10) := 500000;
This is my attempt but it kept giving me syntax error: Incorrect syntax near '1'.
C_LIFECO CHAR(1) := '2';
C_FSUCO CHAR(1) := '9';
C_LIFEBR CHAR(2) := '10';
C_USR CHAR(10) := 'MTLBATCH';
C_JOBNM CHAR(10) := 'L2DATAMIGR';
C_INFO BigINT(8) := 2;
C_SECTION_CNT BigINT(10) := 500000;
Upvotes: 1
Views: 64
Reputation: 1173
In SQL Server, minor syntax will be changed for Declaring the variable. you should use below one.
DECLARE
@C_LIFECO CHAR(1) = '2'
,@C_FSUCO CHAR(1) = '9'
,@C_LIFEBR CHAR(2) = '10'
,@C_USR CHAR(10) = 'MTLBATCH'
,@C_JOBNM CHAR(10) = 'L2DATAMIGR'
,@C_INFO DECIMAL(8,0) = 2
,@C_SECTION_CNT DECIMAL(10,0) = 500000;
Upvotes: 3
Reputation: 37473
You don't need to specify data size BigINT(10)/BIGint(8)
in SQL Server just only specify BigINT
C_LIFECO CHAR(1) := '2';
C_FSUCO CHAR(1) := '9';
C_LIFEBR CHAR(2) := '10';
C_USR CHAR(10) := 'MTLBATCH';
C_JOBNM CHAR(10) := 'L2DATAMIGR';
C_INFO BIGINT := 2;
C_SECTION_CNT BIgINT := 500000;
Upvotes: 2