user10965585
user10965585

Reputation:

How can I convert this Oracle script to MSSQL?

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

Answers (2)

JERRY
JERRY

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

Fahmi
Fahmi

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

Related Questions