A volte quando creo un'API che dovrebbe abilitare il recupero di un singolo valore o di tutti i valori, utilizzo il seguente modello (passando NULL
all'API, ovvero ottieni tutte le righe):
@Nomi utente - elenco separato da virgole di utenti
CREATE PROC GetUsers (@Usernames VARCHAR(100) = NULL)
AS
BEGIN
SELECT *
FROM Users
Where @Usernames IS NULL OR dbo.in_list(@Usernames,Username) = 1
END
È una buona pratica usare la condizione OR per ottenere entrambe le funzionalità, o dovrei scrivere qualcosa del genere:
CREATE PROC GetUsers (@Usernames VARCHAR(100) = NULL)
AS
BEGIN
IF(@Username IS NULL)
BEGIN
SELECT *
FROM Users
END
ELSE
BEGIN
SELECT *
FROM Users
Where dbo.in_list(@Usernames,Username) = 1
END
END
* Nota: Ad esempio, questo è solo SQL, questa non è una domanda specifica per la lingua di codifica . Grazie.