Get event
This example retrieves a single event by its ID from the specified calendar. Supply the calendar ID and event ID to fetch the event details.
Use case: Fetch detailed information for a specific event.
Standard SQL query example
This is the base query accepted by the connector. To execute it in SQL Server, you have to pass it to the Data Gateway via a Linked Server. See how to accomplish this using the examples below.
SELECT * FROM get_event -- Direct endpoint for getting a single event
WITH (CalendarId='MyCalendarId' -- ID of the calendar containing the event
,EventId='MyEventId') -- Unique ID of the event to retrieve
--OR-- Use TableName + WHERE clause
--SELECT * FROM Events WHERE Id='MyEventId' -- Filter by event ID in WHERE clause
Using OPENQUERY in SQL Server
SELECT * FROM OPENQUERY([LS_TO_GOOGLE_CALENDAR_IN_GATEWAY], 'SELECT * FROM get_event -- Direct endpoint for getting a single event
WITH (CalendarId=''MyCalendarId'' -- ID of the calendar containing the event
,EventId=''MyEventId'') -- Unique ID of the event to retrieve
--OR-- Use TableName + WHERE clause
--SELECT * FROM Events WHERE Id=''MyEventId'' -- Filter by event ID in WHERE clause')
Using EXEC in SQL Server (handling larger SQL text)
The major drawback of OPENQUERY is its inability to incorporate variables within SQL statements.
This often leads to the use of cumbersome dynamic SQL (with numerous ticks and escape characters).
Fortunately, starting with SQL 2005 and onwards, you can utilize the EXEC (your_sql) AT [LS_TO_GOOGLE_CALENDAR_IN_GATEWAY] syntax.
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT * FROM get_event -- Direct endpoint for getting a single event
WITH (CalendarId=''MyCalendarId'' -- ID of the calendar containing the event
,EventId=''MyEventId'') -- Unique ID of the event to retrieve
--OR-- Use TableName + WHERE clause
--SELECT * FROM Events WHERE Id=''MyEventId'' -- Filter by event ID in WHERE clause'
EXEC (@MyQuery) AT [LS_TO_GOOGLE_CALENDAR_IN_GATEWAY]