Files
Mog-Squire/FFXI_ITEMS.session.sql
2025-07-07 13:39:46 +01:00

59 lines
3.3 KiB
SQL

-- ==========================================
-- Populate / refresh spells table from scrolls
-- ==========================================
INSERT INTO spells (
name, WAR, MNK, WHM, BLM, RDM, THF, PLD, DRK, BST,
BRD, RNG, SAM, NIN, DRG, SMN, BLU, COR, PUP, DNC,
SCH, GEO, RUN
)
SELECT
-- Strip off leading "Scroll of " (case-insensitive)
regexp_replace(name, '^scroll of\\s+', '', 'i') AS name,
substring(description FROM 'WAR\\s+Lv\\.\\s*(\\d+)')::int AS WAR,
substring(description FROM 'MNK\\s+Lv\\.\\s*(\\d+)')::int AS MNK,
substring(description FROM 'WHM\\s+Lv\\.\\s*(\\d+)')::int AS WHM,
substring(description FROM 'BLM\\s+Lv\\.\\s*(\\d+)')::int AS BLM,
substring(description FROM 'RDM\\s+Lv\\.\\s*(\\d+)')::int AS RDM,
substring(description FROM 'THF\\s+Lv\\.\\s*(\\d+)')::int AS THF,
substring(description FROM 'PLD\\s+Lv\\.\\s*(\\d+)')::int AS PLD,
substring(description FROM 'DRK\\s+Lv\\.\\s*(\\d+)')::int AS DRK,
substring(description FROM 'BST\\s+Lv\\.\\s*(\\d+)')::int AS BST,
substring(description FROM 'BRD\\s+Lv\\.\\s*(\\d+)')::int AS BRD,
substring(description FROM 'RNG\\s+Lv\\.\\s*(\\d+)')::int AS RNG,
substring(description FROM 'SAM\\s+Lv\\.\\s*(\\d+)')::int AS SAM,
substring(description FROM 'NIN\\s+Lv\\.\\s*(\\d+)')::int AS NIN,
substring(description FROM 'DRG\\s+Lv\\.\\s*(\\d+)')::int AS DRG,
substring(description FROM 'SMN\\s+Lv\\.\\s*(\\d+)')::int AS SMN,
substring(description FROM 'BLU\\s+Lv\\.\\s*(\\d+)')::int AS BLU,
substring(description FROM 'COR\\s+Lv\\.\\s*(\\d+)')::int AS COR,
substring(description FROM 'PUP\\s+Lv\\.\\s*(\\d+)')::int AS PUP,
substring(description FROM 'DNC\\s+Lv\\.\\s*(\\d+)')::int AS DNC,
substring(description FROM 'SCH\\s+Lv\\.\\s*(\\d+)')::int AS SCH,
substring(description FROM 'GEO\\s+Lv\\.\\s*(\\d+)')::int AS GEO,
substring(description FROM 'RUN\\s+Lv\\.\\s*(\\d+)')::int AS RUN
FROM usable_items
WHERE type_description = 'SCROLL'
ON CONFLICT (name) DO UPDATE SET
WAR = EXCLUDED.WAR,
MNK = EXCLUDED.MNK,
WHM = EXCLUDED.WHM,
BLM = EXCLUDED.BLM,
RDM = EXCLUDED.RDM,
THF = EXCLUDED.THF,
PLD = EXCLUDED.PLD,
DRK = EXCLUDED.DRK,
BST = EXCLUDED.BST,
BRD = EXCLUDED.BRD,
RNG = EXCLUDED.RNG,
SAM = EXCLUDED.SAM,
NIN = EXCLUDED.NIN,
DRG = EXCLUDED.DRG,
SMN = EXCLUDED.SMN,
BLU = EXCLUDED.BLU,
COR = EXCLUDED.COR,
PUP = EXCLUDED.PUP,
DNC = EXCLUDED.DNC,
SCH = EXCLUDED.SCH,
GEO = EXCLUDED.GEO,
RUN = EXCLUDED.RUN;