Sql server Excel中的SQL过程从连接属性运行,参数为用户登录
我想从Excel运行SQL过程。我想通过将Sql server Excel中的SQL过程从连接属性运行,参数为用户登录,sql-server,excel,Sql Server,Excel,我想从Excel运行SQL过程。我想通过将命令类型设置为SQL的连接属性来实现。下面是一个很好的例子: 如何获取用户登录并将其插入到专门准备的dbo.login\u history\u表中?如何编写连接属性的命令文本 我正在寻找类似于: EXECUTE dbo.procedure_who_gets_here ORIGINAL_LOGIN() 其中,ORIGINAL_LOGIN()是一个参数 更新。以下是存储过程的代码 create procedure procedure_who_gets_h
命令类型设置为SQL的连接属性来实现。下面是一个很好的例子:
如何获取用户登录并将其插入到专门准备的dbo.login\u history\u表中
?如何编写连接属性的命令文本
我正在寻找类似于:
EXECUTE dbo.procedure_who_gets_here ORIGINAL_LOGIN()
其中,ORIGINAL_LOGIN()是一个参数
更新。以下是存储过程的代码
create procedure procedure_who_gets_here
(
@UserLogin as varchar(255)
)
as
begin
-- part one, get user data
insert into dbo.LoginsHistory
select
getdate(),
ORIGINAL_LOGIN(), -- if ORIGINAL_LOGIN() worked, the @UserLogin would be superfluous
@UserLogin
-- part two, show user what he has to see
select * from dbo.MyTable
end
所有提示都要归功于肖恩·兰格的回答。我不得不改变这两部分的顺序。首先,选择“插入”。现在一切都好了。谢谢你,肖恩
create procedure procedure_who_gets_here
as
begin
-- part two, show user what he has to see
select * from dbo.MyTable
-- part one, get user data
insert into dbo.LoginsHistory
select
getdate(),
ORIGINAL_LOGIN()
end
这是登录到运行Excel的计算机的用户,还是登录到数据库的用户?为什么不在过程中使用原始登录?@jnevil用户登录到运行Excel的计算机。尽管用户是智人,但他不知道SQL是什么。两个连接属性都不相同。他没有使用管理工作室,也没有登录SQL数据库。用户只是一个用户。@SeanLange过程可以正常工作,只要您只对select语句使用它。我不知道如何在一个过程中结合选择和插入。单靠插入是不行的。除非你能提供一些细节而不是“它不起作用”,否则任何人都帮不了你。至少,您应该发布您拥有的存储过程,并解释您正在尝试执行的操作。