DECLARE
  v_system_id INT;
BEGIN
  v_system_id := 10;
  SELECT * FROM sec_team WHERE system_id = v_system_id;
END;报错:此表达式类型声明不完整或格式不正确

解决方案 »

  1.   

    SQL块中,用select的时候,后面必须INTO语法,而且INT应该定义为NUMBER
    DECLARE
      v_system_id NUMBER(4);
      vs_sce_team varchar2(100) := ''; --变量类型要和字段sec_team类型一致
    BEGIN
      v_system_id := 10;
      SELECT * FROM sec_team INTO vs_sce_team  WHERE system_id = v_system_id and ROWNUM < 2;
    END;
      

  2.   

    int 是number 的子类型,没错
    存储过程中不能单纯的只做SELECT 
      

  3.   

    赞成一楼~但是不知道ROWNUM < 2;是什么意思!
    1、PLSQL是没有INT的,能不能用不知道。
    2、PLSQL中select 必须和into 一起用。并且 select语句有且只有一条记录返回。
      

  4.   


    ROWNUM < 2 只查前2行记录
      

  5.   

    首先你的变量类型声明错误,应该用number。其次,SQL语句要用select * into v_system_id from sec_team ;
      

  6.   


    正解 只有一行的,可以google看下具体的讲解