У меня есть строка с именем базы данных, именем схемы и именем процедуры,
'manged.dbo.gen_scri'
Я пытаюсь извлечь имя базы данных, имя схемы и процедуруназвание от него, поэтому я написал запрос, как это:
DECLARE @Name VARCHAR(1000)= 'manged.dbo.gen_scri',
@DB VARCHAR(100),
@Schema VARCHAR(100),
@Proc_Name VARCHAR(max)
SELECT @DB=SUBSTRING(@Name,1,CHARINDEX('.',@Name)-1)
SELECT @Schema=SUBSTRING(@Name,(CHARINDEX('.',@Name))+1,CHARINDEX('.',@Name,(LEN(@DB))+2)-((CHARINDEX('.',@Name))+1))
SELECT @Proc_Name=SUBSTRING(@Name,LEN(@DB)+LEN(@Schema)+3,100)
SELECT @DB AS Database_Name,@Schema AS SchemaName,@Proc_Name AS Proc_Name
Есть ли лучший способ сделать это?