Если ваш идентификатор - varchar, я полагаю, он не генерируется автоматически, поэтому вы должны знать его, прежде чем вставлять запись. Кстати, вы не можете просто выбрать свой идентификатор после вставки записи?
Примерно так:
CREATE PROC InsertXXX( ... value parameters...)
AS
BEGIN
INSERT .....
SELECT ID FROM MyTable
END
ОБНОВЛЕНО:
Если вы хотите узнать последнюю вставленную запись и ее идентификатор перед вставкой новой записи, это может быть немного сложнее в зависимости от значений идентификатора.
Если вы можете найти последнюю запись, отсортировав столбец идентификатора, вы можете сделать это следующим образом:
SELECT Max(ID) FROM myTable
Если нет, у вас может быть поле DateTime (например, CreationDate), которое содержит время вставки записи. Затем вы можете сделать следующее:
SELECT ID FROM MyTable WHERE CreationDate=(SELECT Max(CreationDate) FROM MyTable)