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

时间:2018-03-01 03:47:35

标签: sql sql-server

我对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)

1 个答案:

答案 0 :(得分:0)

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

希望这会有所帮助。