我有一张有数据库名称、Schema名称和Procdedure名称的插图。
manged.dbo.gen_scri
我试图从数据库中抽取数据库名称、Schema名称和Procdedure名称,因此我写了这样一个问题:
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
Is there a better way of doing it?