I am running a Mysql procedure (MySQL 5.7) with following query :
DECLARE LAST_MAC BIGINT;
SET LAST_MAC = (SELECT COALESCE(MAX(MAC_ADDRESS), 0) FROM MAC_ADDRESS_TABLE) + 1;
INSERT INTO MAC_ADDRESS_TABLE(MAC_ADDRESS)
WITH TEMP (N)
AS (
VALUES (LAST_MAC)
UNION ALL
SELECT N+1 FROM TEMP WHERE N+1 < (LAST_MAC + CREATED)
) SELECT N AS MAC_ADDRESS FROM TEMP;
After running the query , i am getting following error :
right syntax to use near 'TEMP (N)
AS (
VALUES (LAST_MAC)
UNION ALL
SELECT N'
I have verified this query on DB2
and PostgreSQL
. It is working fine . I want to know whether WITH AS
clause is not supporting in MySQL procedure
query ? How can i achieve this with any alternative methods ?