---
title: "SQL-query's met parameters: Ondersteuning voor SQL-templates in DatabaseSpy"
date: 2017-11-16
categories:
  - development
  - tools
tags:
  - database-tool
  - databasespy
  - sql-query
description: DatabaseSpy, het multi-database hulpmiddel van Altova, biedt uitgebreide ondersteuning voor het ontwikkelen, uitvoeren en verfijnen van complexe SQL-query's met parameters.
---
Status: #blog

Tags:  #database-tool #databasespy #sql-query

Categories: [development](/blog/nl/category/development.md) | [database + sql](/blog/nl/category/database-sql.md)
# SQL-query's met parameters: Ondersteuning voor SQL-templates in DatabaseSpy

SQL-query's met parameters, ook wel SQL-templates genoemd, zijn een flexibele en efficiënte oplossing voor repetitieve rapportage van gegevens. Ze stellen gebruikers bijvoorbeeld in staat om complexe JOIN-statements met meerdere sets van waarden eenvoudig uit te voeren. DatabaseSpy, het multi-database query-, ontwerp- en bewerkingstool van Altova, biedt uitgebreide ondersteuning voor het ontwikkelen, uitvoeren en verfijnen van complexe SQL-query's met parameters, ook wel bekend als SQL-templates.

Het maken van prototypes van SQL-query's met parameters in DatabaseSpy kan zelfs de ontwikkeling van query's versnellen die nodig zijn voor andere projecten, zoals database-mappingen in MapForce of database-gegevensbronnen voor mobiele applicaties die op meerdere platforms werken (MobileTogether).

![Ondersteuning voor Big Data](/blog/images/big-data-v2017.png)

<!--more-->

De DatabaseSpy [SQL-editor](https://www.altova.com/nl/databasespy/sql-editor) en het resultatenvenster hieronder tonen een query om alle bestellingen van een specifiek product door een specifieke klant weer te geven:

[![Een SQL-query die gegevens uit verschillende tabellen combineert, zonder parameters](/blog/images/SQL-query-without-parameters.png)](SQL-query-without-parameters.png)

Deze query kan aanzienlijk uitgebreider worden gemaakt door de productnaam 'sprockets' en het klantnummer 525 te vervangen door parameters, zoals te zien is in het SQL-editorvenster hieronder. In de query worden op regel 6 en 7 de parameters `:pname` en `:custnum` gebruikt in plaats van de productnaam en het klantnummer.

[![SQL-query's met parameters zijn flexibel en efficiënt](/blog/images/SQL-query-with-parameters.png)](SQL-query-with-parameters.png)

Wanneer de query met parameters wordt uitgevoerd via de gele "Uitvoeren"-knop linksboven in het venster van de SQL-editor, opent DatabaseSpy een dialoogvenster waarin de gebruiker waarden kan invoeren voor de uitvoering. Het resultaat dat rechtsonder wordt weergegeven, wordt dan gegenereerd.

[![Het aanleveren van waarden voor SQL-query's met parameters](/blog/images/SQL-query-result.png)](SQL-query-result.png)

SQL-templates voor DatabaseSpy kunnen worden opgeslagen in een speciale projectmap en dynamisch worden uitgevoerd. Het voorbeeld van directe uitvoering, zoals hierboven getoond, is geschikt als de gebruiker al de gewenste parameterwaarden kent. Vaak moet een gebruiker echter queries maken die testresultaten genereren om onbekende data te onderzoeken. Nadat een testquery is uitgevoerd, kan de gebruiker waarden selecteren uit de resultaat tabel en deze als parameters aan een SQL-template leveren die is opgeslagen in de map met projecttemplates.

Een nieuw venster voor de SQL-editor wordt geopend. Hierin wordt automatisch een query gegenereerd op basis van een sjabloon, waarbij de geselecteerde waarden worden toegewezen aan de parameters. De gegenereerde query wordt uitgevoerd en de resultaatweergave wordt weergegeven.

[![Waarden toevoegen door middel van voorbeelden en een SQL-query uitvoeren met parameters](/blog/images/SQL-parameters-from-result.png)](SQL-parameters-from-result.png)

**SQL-query's met parameters gebruiken in andere projecten**

Nadat een SQL-query met parameters is aangemaakt in DatabaseSpy, kan deze eenvoudig worden toegepast in een ander project, zoals een mobiele app die is ontwikkeld met MobileTogether, het platform van Altova voor cross-platform [snelle mobiele app-ontwikkeling](https://www.altova.com/nl/mobiletogether) (RMAD).

Bijvoorbeeld, onze voorbeeldquery kan slechts een klein onderdeel zijn van een complexe applicatie voor verkooprapportage. Een mobiele ontwikkelaar kan de query eenvoudig kopiëren en plakken in het venster "SQL-statementeditor" in de MobileTogether Designer en de parameterwaarden definiëren, zoals hier te zien is.

[![SQL-query's met parameters kunnen in veel andere projecten worden gebruikt](/blog/images/MobileTogether-SQL-Query.png)](MobileTogether-SQL-Query.png)

Met behulp van de drag-and-drop paginalay-outtools in The MobileTogether Designer kan de ontwikkelaar een invoerveld creëren waarmee de gebruiker een klantnummer kan invoeren, en een keuzelijst om de productnaam te selecteren. Dit wordt gebruikt om de parameters voor de SQL-query in te stellen wanneer de app wordt uitgevoerd.

Ons voorbeeld van een zoekopdracht, ingebouwd in de mobiele app, zou op een Android-apparaat er als volgt uitzien:

[![Een Android-mobiele applicatie die een SQL-query uitvoert met parameters](/blog/images/SQL-result-in-mobile-app.png)](SQL-result-in-mobile-app.png)

Het MapForce-tool voor data-mapping, -conversie en ETL bevat een SQL-editor dialoogvenster, vergelijkbaar met het DatabaseSpy-dialoogvenster dat hierboven wordt weergegeven. Parameters voor een MapForce [gegevenskoppeling](https://www.altova.com/nl/mapforce) Kan tijdens runtime worden geleverd of intern worden gegenereerd binnen de mapping.

Alle functionaliteiten van DatabaseSpy die hier worden beschreven voor het maken van SQL-query's met parameters – en nog veel meer – worden ondersteund voor de databases die hieronder staan vermeld. DatabaseSpy stelt gebruikers zelfs in staat om tegelijkertijd verbindingen te openen met meerdere databases van verschillende types, en zelfs om de structuren en inhoud van deze databases met elkaar te vergelijken.

**Ondersteunde databases:**

- Vuurvogel
- IBM DB2 voor iSeries®
- IBM DB2®
- Informix®
- Microsoft Access™
- Microsoft® Azure SQL
- Microsoft® SQL Server®
- MySQL®
- Oracle®
- PostgreSQL
- Progress OpenEdge
- SQLite
- Sybase®

(Klik hier voor de [actuele, gedetailleerde lijst van ondersteunde versies](https://www.altova.com/nl/databasespy) voor elke database.) U kunt [DatabaseSpy, MobileTogether of een ander Altova-product](https://www.altova.com/nl/download) 30 dagen gratis uitproberen.
