Nie. Parametr zapytania zastępuje tylko jedną stałą wartość. Na przykład stała numeryczna, ciąg literału lub data.
Wszystko inne — nazwy kolumn, nazwy tabel, słowa kluczowe SQL, funkcje, wyrażenia — musi znajdować się w ciągu SQL w czasie analizy.
Odpowiedz na swój komentarz:
Powinieneś zrozumieć, że parametry nie po prostu dla wygody interpolacji dodatkowych ciągów do twojego SQL. PREPARE jest analogiczne do fazy kompilacji dla Javy lub C#, podczas gdy EXECUTE jest analogiczne do uruchamiania skompilowanego kodu.
Czas przygotowania jest wtedy, gdy RDBMS sprawdza składnię, a także walidację odwołań. Musi dawać błąd, jeśli nazwiesz tabelę, która nie istnieje, lub wywołasz funkcję, która nie istnieje.
Nie możesz przekazać nazw tabel lub wywołań funkcji jako parametrów, ponieważ wtedy RDBMS nie byłby w stanie zweryfikować tych odwołań w czasie przygotowania. Nie powinieneś być w stanie użyć parametru zapytania do zmiany składni instrukcji lub wprowadzenia nieprawidłowych tabel lub funkcji.
Tak więc symbol zastępczy parametru musi być nieredukowalnym elementem składniowym, który nigdy nie jest nieprawidłowym odniesieniem, tj. pojedynczą wartością literału — liczbą lub ciągiem znaków.