两种SQL语法:
1、嵌入SQL
2、动态SQL
&sql(select %ID into:id From DDPatientInfo where PStringID =:PStringID)
//传入参数PStringID通过符号“=:”赋给表字段“PStringID ”
//查询系统“ID”通过“into”赋给“id”
if SQLCODE = 0
S obj=..%OpenId(id)
if $ISObject(obj)
Q obj.%DeleteId(id)
ClassMethod Del(id As %String,CourseNo As %String) As %Status [WebMethod]
{
s obj=##class(SystemConsole.Medical.NurseWork.TestDetail).%New()
Q obj.DeleteCourseDetail(id,CourseNo)
}
Method DeleteCourseDetail(id As %String,CourseNo As %String) As %Status
{
&sql(select ID into:d from SystemConsole_Medical_NurseWork.TestDetail a where a.CourseNo=:CourseNo And MasterCourseNo->StudentNo=:id)
//得到传进的值"id",通过“=:”赋给父表的索引字段“StudentNo”,子表通过父子关系字段“MasterCourseNo”定位到父表索引
//查询得到的ID通过“INTO:”赋给临时变量“d”,表的别名是“a”
s obj= ..%OpenId(d)
//通过查询得到的ID定位到父表中的一条记录
s x=obj.%DeleteId(d)
Q $$$OK
}
浙公网安备 33010602011771号