Ich habe in einer Tabelle ein Attribut "kundennr", welches ich als Varchar angelegt habe.
Da können nun reine kunden
nummern drin stehen, aber auch namen usw.
Jetzt möchte ich beim Anlegen eines neuen Kunden lediglich die höchste Kunden
nummer ermitteln und diese um 1 erhöhen.
In
MySQL mache ich das so:
SELECT max(kundennr) as nummer FROM kundenstamm WHERE convert(kundennr,unsigned integer)>0;
bzw.
SELECT max(kundennr) as nummer FROM kundenstamm WHERE Cast(kundennr as unsigned)>0;
In Firebird klappt das ganze nicht. Die Funktion convert existiert dort nicht und cast gibt einen Fehler zurück, sobald ein alphanumerischer Wert existiert: conversion error from string '<hier der feldwert>'
den Datentypen unsigned habe ich bei Firebird als Domain angelegt, damit das Programm sowohl unter
MySQL als auch unter Firebird läuft und ich keine gesonderten Abfragen benutzen muss.
Kennt da wer eine Möglichkeit, wie man das mit der selben Abfrage unter beiden Datenbanken bewerkstelligen kann?