1. 如何判断是否存在
2. 如何批量设置权限declare @MachineID bigint
declare @MachineID2 varchar(100)
declare @ErrMsg varchar(100)
Set @MachineID=100
  Set @ErrMsg=''
--exec('select * from DC_CONTROL where CTLID like ''%'+@MachineID+'%''')
      if not Exists(select * from DC_CONTROL where CTLID like @MachineID2%) ---------------------如何判断是否存在
        begin
          Set @ErrMsg='未能找到该设备,设置失败!'
       print @ErrMsg
       end
--如果存在,则给改人员设置所有查找出的设备权限(批量设置)
      else
        begin
declare CTLID_cursor cursor for 
--错误 exec('select * from DC_CONTROL where CTLID like ''%'+@MachineID+'%''')   ---------------------如何查询
OPEN CTLID_cursor
FETCH NEXT FROM CTLID_cursor 
INTO @MachineID
WHILE @@FETCH_STATUS = 0
BEGIN
      begin Tran Tran_MachineAnnouncer_Set_insert
print @MachineID
/*      insert into MachineAnnouncer_Set(MachineID,AnnouncerID,PurVal,ISDown) 
          values (@MachineID,@AnnouncerID,@PurVal,@ISDown);
*/
      if @@Error<>0 
        begin
          Rollback Tran Tran_MachineAnnouncer_Set_insert
          select @ErrMsg='为设备号:['+Ltrim(Rtrim(@MachineID))+'],设置权限失败!'
--          Return -1 
        end
      else
        begin
          Commit Tran Tran_MachineAnnouncer_Set_insert
--          Return 0
        end
  FETCH NEXT FROM CTLID_cursor 
  INTO @MachineID
END
CLOSE CTLID_cursor
DEALLOCATE CTLID_cursor
    end

解决方案 »

  1.   

    --select CTLID from DC_CONTROL where CTLID like '100%'
    -- exec('select CTLID from DC_CONTROL where CTLID like ''%'+@MachineID+'%''')   ---------------------如何查询??????????????
    OPEN CTLID_cursor
    declare @MachineID bigint
    declare @MachineID2 varchar(100)
    declare @ErrMsg varchar(100)
    Set @MachineID=100
      Set @ErrMsg=''
    --如果存在,则给改人员设置所有查找出的设备权限(批量设置)
    declare CTLID_cursor cursor for 
    --select CTLID from DC_CONTROL where CTLID like '100%'
    -- exec('select CTLID from DC_CONTROL where CTLID like ''%'+@MachineID+'%''')   ---------------------如何查询??????????????
    OPEN CTLID_cursor
    FETCH NEXT FROM CTLID_cursor 
    INTO @MachineID
    WHILE @@FETCH_STATUS = 0
    BEGIN
          begin Tran Tran_MachineAnnouncer_Set_insert
    print @MachineID
    /*      insert into MachineAnnouncer_Set(MachineID,AnnouncerID,PurVal,ISDown) 
              values (@MachineID,@AnnouncerID,@PurVal,@ISDown);
    */
          if @@Error<>0 
            begin
              Rollback Tran Tran_MachineAnnouncer_Set_insert
              select @ErrMsg='为设备号:['+Ltrim(Rtrim(@MachineID))+'],设置权限失败!'
    --          Return -1 
            end
          else
            begin
              Commit Tran Tran_MachineAnnouncer_Set_insert
    --          Return 0
            end
      FETCH NEXT FROM CTLID_cursor 
      INTO @MachineID
    END
    CLOSE CTLID_cursor
    DEALLOCATE CTLID_cursor
      

  2.   

    if not Exists(select * from DC_CONTROL where CTLID like @MachineID2+'%'
      

  3.   

    if not Exists(select * from DC_CONTROL where CTLID like '%'+LTRIM(@MachineID2)+'%'
      

  4.   

    if not Exists(select * from DC_CONTROL where CTLID like @MachineID2+'%')
      

  5.   

    LTRIM 

    好神奇!!!
      

  6.   


    select * from DC_CONTROL where CTLID like '%'+LTRIM(@MachineID)+'%'可以执行~~~~
    如果前面不加 % 号,要怎么写?
      

  7.   

    if not Exists(select * from DC_CONTROL where CTLID like LTRIM(@MachineID2)+'%'
      

  8.   

    if not exists(select * from dc_control where ctlid like (@macheineID2)+'%')