2010-07-21 4 views
1

Issu d'Oracle, SQLPlus d'Oracle vous permet d'indiquer une variable. Si la variable n'a pas été définie, vous serez invité à fournir une valeur. J'utilise SQLCMD, en utilisant la syntaxe $ ([var_name]). En mode SQLCMD SSMS, j'obtiens:SQLCMD: Demande de variable?

Une erreur de script fatale s'est produite.
La variable nom_table n'est pas définie.

... pour essayer de courir:

SELECT COUNT(*) FROM $(tbl_name) 

Est-ce que SQLCMD fournit les mêmes fonctionnalités que SQLPlus? Si oui, qu'est-ce que je fais de mal?

+0

Pouvez-vous inclure le code que vous utilisez pour appeler SQLCMD? –

+0

@Tom H .: Je ne fais que le tester via le mode SQLCMD ATM. Mon point est, j'ai vu comment fournir les variables, mais je veux savoir si SQLCMD soutient l'interaction de l'utilisateur comme le fait SQLPlus. –

Répondre

2

SQLCMD ne prend pas en charge l'invite pour les noms de variable manquants. Cependant, vous pouvez utiliser SSMS en mode SQLCMD. J'sais comment vous êtes erreur a été provoquée, mais cela fonctionne pour moi:

:setvar table "sys.tables" 

SELECT * FROM $(table); 
+0

Je reçois l'erreur parce que je ne fournis pas la partie setvar. –

+0

SQLCMD ne prend pas en charge le comportement de l'interface graphique comme SQLPlus. Peut-être jeter un oeil à SQL-PowerShell. –

1

Il est un outil gratuit « de SQLS * Plus » qui est un SQL * Plus pour SQL Server. Fonctionne avec SQL Server 2000/2005 et 2008

très flexible avec la mise en forme de données (lignes fixes de taille, pagesize, etc.), les variables (&, & &), bobine, etc - années-lumière mieux que isql, osql ou SQLCMD

J'ai téléchargé SQLS * Plus à partir de http://www.memfix.com

Questions connexes