Я планировал иметь первичный ключ с «LIBBOOKS-1214», но я не могу это сделать. Я хочу, чтобы всякий раз, когда я вводил другую информацию, она будет генерировать это как мой первичный ключ.Alpha Numeric Primary
Вот мой код:
CREATE TABLE tblBookInfo
(
AccessionNumber NVARCHAR(MAX)
DECLARE @RandomNumber NVARCHAR(10);
DECLARE @AccNo NVARCHAR(MAX)
DECLARE @Upper INT;
DECLARE @Lower INT
SET @Lower = 1
SET @Upper = 9999
Select @RandomNumber = Round (((@Upper - @Lower -1)* RAND() + @Lower), 0)
SET @AccNo = 'LIBBOOKS' + @RandomNumber
SELECT @AccNo
Set AccessionNumber = @AccNo
SELECT AccessionNumber
)
Спасибо за вашу помощь! Очень признателен. Я все еще новичок в SQL-Server.
Я поместил ваш код в кодовый блок. Однако было бы полезно, если бы код, который вы опубликовали, имел смысл. – MarkD
Ваш код недействителен SQL. Исправьте это в первую очередь. SQL Server способен к первичным ключам, тип которых «(N) VARCHAR (x)». –
Ваше случайное число никоим образом не гарантирует уникальность, которая требуется для первичного ключа. И если префикс всегда LIBBOOKS, действительно ли нужно хранить эту часть в базе данных? – Ilion