Alternative für select <Sequenz>.nextval from dual von Oracle in den SQL-Server?
Gibt es eine Möglichkeit zu schaffen eine einzigartige Sequenz, die nicht in SQL Server
select <sequence>.nextval from dual
Wir haben die oben genannten code für Oracle erstellen Sie eine eindeutige Nummer und die Nummer kann nicht von jedem anderen benutzt werden.
In der gleichen Weise wie kann ich erstellen Sie eine einzigartige Sequenz-Nummer in der SQL Server -????
Jemand mir helfen in diesem
InformationsquelleAutor smilu | 2012-01-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sequenzen Hinzugefügt, die in SQL Server 2012 - dies ist aber durchaus nicht freigegeben noch. Die release candidates für das Produkt, wenn Sie wollen, um zu versuchen, Sie aus im Voraus.
Wenn die Sequenz nur eine einzige Tabelle, dann können Sie mit der identity-Spalte-Funktion, die ermöglicht Ihnen die Angabe einer startnummer und die Wertschöpfung pro Datensatz.
Wenn Sie auf der Suche für eine Sequenz, die verwendet werden können in einer Reihe von Tabellen, die Sie benötigen würden, um eine spezielle Tabelle in SQL server, die eine einzelne Spalte mit einer identity-Feld - und Wann immer Sie wollte .nextval, Sie würden einfügen einer Zeile in die Tabelle, um eine neue Nummer. Die Tabelle als wirkt wie eine Sequenz. Die Tabelle füllt sich im Laufe der Zeit, es besteht keine Notwendigkeit zu halten, die Datensätze innerhalb der Tabelle, die Identität speichert den aktuellen Wert und die Schrittweite zu erhalten, wird der nächste Wert auf eine system-Tabelle.
Sie sind richtig -, dass es nicht einen großen Mechanismus - es imitiert das Verhalten, sondern an einen Aufwand, ob das zu viel Aufwand Sie haben, um herauszufinden, mit etwas Last testen.
InformationsquelleAutor Andrew
Nur die kommende SQL Server 2012 unterstützt ein sql-standard-konform-Sequenz-Objekt. 🙁 In einer beliebigen version von SQL Server (2008 R2 und unten) müssen Sie eine Spalte mit der identity-contstraint in:
Diese generiert Werte in der id-Spalte, beginnend mit 1 an und Inkrementieren Sie in Schritten von 1.
Dann können Sie nicht tun es so, wie Sie es tun würde, in Oracle (es sei denn, Sie warten, bis SQL Server 2012)! Sie erstellen einen benutzerdefinierten Datentyp in C# oder VB.NET und importieren Sie die Montage.
InformationsquelleAutor Mithrandir