导航

StudyCaché

Posted on 2008-07-10 14:01  LeonardSoft  阅读(100)  评论(0)    收藏  举报

两种SQL语法:
1、嵌入SQL
2、动态SQL     
&sql(
select %ID into:id From DDPatientInfo where PStringID =:PStringID)
//传入参数PStringID通过符号“=:”赋给表字段“PStringID 
//查询系统“ID”通过“into”赋给“id”
       if SQLCODE = 0
       obj=..%OpenId(id)
       if $ISObject(obj)
       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
}