Ik ben bezig met een stored procedure, waarvan ik gegevens wil hebben uit meerdere DB's. Nu wil ik (o.a.) aan die stored procedure meegeven WELKE DB 'ie moet gebruiken (we hebben meerdere DB's met dezelfde info, begin nou niet over "waarom").
Ik zit in de DB Reparaties, en wil ook info uit de DB 'WinNAWTB2002'
Dit is mijn (test)stored procedure:
Alleen komt 'ie dan terug met de melding:
Als ik @strSQL print, en die Copy&Paste in mijn SQL Query analyzer dan werkt 'ie WEL, evenals als ik de naam er "hard" in zet:
Het gaat me nu dus effe PUUR om het principe. Ik zit niet te wachten op replies als "gebruik geen * maar noem alle velden" e.d.
Iemand enig idee waarom Exec dit niet vreet?
Ik zit in de DB Reparaties, en wil ook info uit de DB 'WinNAWTB2002'
Dit is mijn (test)stored procedure:
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
| CREATE PROCEDURE [sp_ListOpenstaand] @dbName as Varchar(100) = 'WinNawtb2002' AS DECLARE @strSQL as varchar(1000) Set @strSQL = 'select * from tbl_Reparaties' + ' inner join ' + @dbName + '.dbo.tbl_Klanten on rep_kl_id = kl_id' + ' where rep_akkoord = 0' Exec @strSQL GO |
Alleen komt 'ie dan terug met de melding:
code:
1
2
3
4
| Server: Msg 911, Level 16, State 1, Line 11 Could not locate entry in sysdatabases for database 'select * from tbl_Reparaties inner join WinNawtb2002'. No entry found with that name. Make sure that the name is entered correctly. |
Als ik @strSQL print, en die Copy&Paste in mijn SQL Query analyzer dan werkt 'ie WEL, evenals als ik de naam er "hard" in zet:
code:
1
2
3
4
5
6
7
| CREATE PROCEDURE [sp_ListOpenstaand] AS select * from tbl_Reparaties inner join WinNAWTB2002.dbo.tbl_Klanten on rep_kl_id = kl_id where rep_akkoord = 0 GO |
Het gaat me nu dus effe PUUR om het principe. Ik zit niet te wachten op replies als "gebruik geen * maar noem alle velden" e.d.
Iemand enig idee waarom Exec dit niet vreet?
[ Voor 15% gewijzigd door RobIII op 27-05-2003 12:31 ]
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij