需要帮助来获取脚本名称作为变量vs手动输入
问题描述:
我有一个表,每次运行脚本时都会存储。我的问题是,我必须在'????'中手动输入脚本名称,并且正在寻找一种方法,以便它自动将脚本名称传递给插入语句。我当前的脚本是(参见下文)需要帮助来获取脚本名称作为变量vs手动输入
declare @ScriptName varchar(100)
--Replace ???? with the script name being executed
Set @ScriptName = '?????'
insert into dbhistory (dbh_memo, dbh_user, dbh_nowversion)
Values(@ScriptName, 'Boss','Version 758')
答
你可以把你现在的查询Ÿ成一个存储过程:
CREATE PROCEDURE dbhistoryUpdate
@ScriptName varchar(100)
AS
BEGIN
INSERT INTO dbhistory (
dbh_memo,
dbh_user,
dbh_nowversion
)
VALUES (
'Executing Script ' + @ScriptName,
'Boss',
'Version 758'
);
END
然后,你可以调用它像这样:
EXEC dbhistoryUpdate 'your_value'
你的意思是正在执行的脚本?上下文是什么? – 2011-12-28 18:51:04
正确的例子现在我会放在设置@ScriptName ='storeproc_name.sql'和表将显示storeproc_name.sql – micheal 2011-12-28 19:05:09