第十四章使用SQLShell界面一
可以使用SYSTEM.SQL.Execute()方法从Terminal命令行执行一行SQL代码,而无需调用SQLShell。以下示例显示如何在终端提示下使用此方法:
DHC-APPSETresult=SYSTEM.SQL.Execute("SELECTTOP5name,dob,ssnFROMSample.Person")DHC-APPDOresult.%Display()NameDOBSSNyaoxin-11-xiaoli-11-1姚鑫63189-11-2姚鑫63189-11-3姚鑫50066-11-45Rows(s)Affected
如果SQL语句包含错误,则Execute()方法成功完成;否则,该方法无效。%Display()方法返回错误信息,例如:
USERDOresult.%Display()[SQLCODE:-29:Fieldnotfoundintheapplicabletables][%msg:FieldGAMEnotfoundintheapplicabletables^SELECTTOP?game,]0RowsAffectedUSER
Execute()方法还提供了可选的SelectMode、Dialect和ObjectSelectMode参数。
InterSystemsIRIS支持许多其他编写和执行SQL代码的方法
这些包括:
嵌入式SQL:嵌入ObjectScript代码中的SQL代码。
动态SQL:使用%SQL。从ObjectScript代码中执行SQL语句的语句类方法。
管理门户SQL接口:使用ExecuteQuery接口从InterSystemsIRIS管理门户执行动态SQL。
调用SQLShell可以使用SYSTEM.SQL.Shell()方法在终端提示符中调用SQLShell,如下所示:
DOSYSTEM.SQL.Shell()
或者,可以使用%SQL作为一个实例调用SQLShell。Shell类,如下所示:
DO##class(%SQL.Shell).%Go("IRIS")
或
SETsqlsh=##class(%SQL.Shell).%New()DOsqlsh.%Go("IRIS")
无论如何调用,SQLShell都会返回SQLShell提示符,如下所示:
[SQL]termprompt
其中[SQL]是指在SQLShell中,termprompt是配置的终端提示符,是指SQL命令行。默认情况下,SQLShell提示符如下所示:[SQL]nsp,其中“nsp”是当前命名空间的名称。
DHC-APPDOSYSTEM.SQL.Shell()SQLCommandLineShell----------------------------------------------------The
转载请注明:http://www.sonphie.com/jbby/13866.html