存储过程是否会写入数据库?

问题描述 投票:0回答:1

我是SQL的新手,我想确保我没有在sql01数据库上更改或编辑任何内容。我被允许阅读此数据库,但不做任何更改或编辑任何内容。

名为app02的第二个数据库由我创建并拥有。所以我可以用它做任何事情。

两个数据库都在不同的服务器上

我正在进行查询以查看两个数据库中列出的FIRSTNAME和LASTNAME。当我运行下面的代码时,我将连接到SQL Server中的数据库app02。我不得不运行存储过程来连接到我不拥有的数据库:

EXEC sp_addlinkedserver @server='sql01'
EXEC sp_addlinkedsrvlogin 'sql01', 'false', NULL, 'username', 'password's

这会保存或编辑sql01数据库上的任何内容吗?这是我的完整查询:

EXEC sp_addlinkedserver @server='sql01'
EXEC sp_addlinkedsrvlogin 'sql01', 'false', NULL, 'username', 'password'

SELECT LASTNAME, FIRSTNAME, STATUS, CLASS
  FROM sql01.database1.dbo.MyTable1 T1
  WHERE EXISTS (SELECT FIRSTNAME, LASTNAME 
                FROM app02.database2.dbo.MyTable2 T2
                WHERE T1.FIRSTNAME = T2.FIRSTNAME
                AND T1.LASTNAME = T2.LASTNAME)
sql sql-server
1个回答
0
投票

如果您对任何表执行SELECT操作,那么只有您正在查看表中的数据。当您使用诸如update,delete之类的命令时,只会修改数据结构。您只能使用select语句,它不会更改数据库在任何意义上。

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.