`
q12344566789
  • 浏览: 31859 次
  • 来自: 青岛
文章分类
社区版块
存档分类
最新评论

Oracle之select into var1

 
阅读更多

前几天同事写存储过程遇到这么一个问题:

select t1.a into t_code  from table1 t1      ----t_code是定义的varchar2
紧接着

select count(1) from table2 t2 where t2.t_code = t_code

他就发现查询的结果是table2的全量,where条件没起作用。

本来我以为是select into 语法有作用域的限制。因为

select t1.a into t_code  from table1 t1 之后,又跟着一个insert commit;
但是去掉insert commit,where条件还是不起作用。

所以就怀疑变量名t_code和table2表的t_code字段名是一样的。

结果换了变量名后,就可以了。

分享到:
评论

相关推荐

    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的区别)

    INTO var1, var2 FROM SomeTable WHERE condition; END; ``` 在Oracle中,如果想要创建新表并复制数据,可以先创建表,再使用`INSERT INTO SELECT`。 总结起来,`SELECT INTO` 和 `INSERT INTO SELECT` 在...

    Oracle入门--Oracle游标使用

    FETCH cursor_name INTO var1, var2; EXIT WHEN cursor_name%NOTFOUND; -- 处理var1和var2的值 END LOOP; CLOSE cursor_name; END; ``` 3. **%TYPE属性**:这个属性在声明变量时非常有用,它可以确保变量的...

    ORACLE转DB2对照全解

    FETCH c1 INTO var1, var2; CLOSE c1; END; ``` **DB2:** ```sql DECLARE c1 CURSOR FOR SELECT * FROM table; OPEN c1; FETCH c1 INTO var1, var2; CLOSE c1; ``` **注意:** Oracle和DB2中的游标语法类似,但...

    ORACLE 游标 异常 存储过程

    FETCH cursor_name INTO var1, var2; EXIT WHEN cursor_name%NOTFOUND; -- 执行处理行的代码 END LOOP; CLOSE cursor_name; END; ``` 2. **异常处理**: - **异常**:在Oracle中,异常是程序执行过程中遇到...

    Oracle 返回多个结果集

    FETCH cursor1 INTO var1, var2; EXIT WHEN cursor1%NOTFOUND; -- 打印或处理结果 END LOOP; CLOSE cursor1; -- 处理第二个结果集 OPEN cursor2; LOOP FETCH cursor2 INTO var3, var4; EXIT WHEN cursor2...

    Oracle存储过程的基本语法

    SELECT col1, col2 INTO var1, var2 FROM table WHERE condition; EXCEPTION WHEN NO_DATA_FOUND THEN -- 处理没有找到数据的情况 END; ``` 如果查询结果没有记录,会抛出NO_DATA_FOUND异常。 3. **IF判断**...

    ORACLE批量更新四种方法.txt ORACLE批量更新四种方法.txt

    特别是在Oracle数据库环境下,如何高效地执行批量更新,成为了提高系统性能的关键因素之一。本文将详细介绍Oracle中实现批量更新的四种常见方法,并通过示例代码来具体说明每种方法的应用场景及优缺点。 #### 二、...

    ado.net读写Oracle大对象

    using (var command = new OracleCommand("INSERT INTO MyTable (BlobColumn) VALUES (:BlobValue)", connection)) { command.Parameters.Add(new OracleParameter(":BlobValue", OracleDbType.Blob)).Value = ...

    oracle数据库基本语句

    insert into userman.users values(1,'Admin',1,'Admin'); insert into userman.users values(2,'Lee',1,'Lee'); insert into userman.users values(3,'User',2,'User'); insert into userman.users values(4,'Zxh',...

    oracle存储过程详解

    SELECT col1, col2 INTO var1, var2 FROM table WHERE condition; -- 异常处理 EXCEPTION WHEN NO_DATA_FOUND THEN -- 处理没有数据的情况 END; ``` 2. **IF判断**:根据条件执行不同的代码块。 ```sql IF...

    Oracle数据库游标使用大全

    FETCH cursor_name INTO var1, var2; EXIT WHEN cursor_name%NOTFOUND; -- 处理每一行数据 END LOOP; CLOSE cursor_name; END; ``` 游标有以下几个重要的属性: - `%FOUND`:当执行`FETCH`后,如果游标...

    获取top前10个Oracle的进程(支持多实例)

    jdbcUrl=jdbc:oracle:thin:@193.0.10.110:1521:MG01 username=DBUSROMS1 password=**** count=1 数据库连接 DELETE FROM SELLMAIL WHERE SMKEY = :B1 当前正执行SQL jdbcUrl=jdbc:oracle:thin:@193.0.10.110:1521:...

    开源项目-go-goracle-goracle.zip

    _, err = tx.Exec("INSERT INTO your_table (col1, col2) VALUES (?, ?)", value1, value2) if err != nil { // 处理错误 // 可选择回滚事务 tx.Rollback() } else { // 提交事务 err = tx.Commit() if err !=...

    Oracle存储过程基本语法及示例

    INTO var1, var2 FROM table_name WHERE condition; -- 异常处理 EXCEPTION WHEN NO_DATA_FOUND THEN -- 处理逻辑 END; ``` #### 3. `IF`条件语句 `IF`语句用于根据条件执行不同的代码块。 ```sql ...

    oracle数组

    select * bulk collect into var_array from t_stock; for i in 1..var_array.count loop dbms_output.put_line(var_array(i)); end loop; end; ``` 在上面的示例中,我们声明了一个可变数组 `type_array`,它的...

    ORACLE NO_DATA_FOUND的三种处理办法

    FETCH cursor_name INTO var1, var2; EXIT WHEN cursor_name%NOTFOUND; -- 当前查询行的处理逻辑 END LOOP; CLOSE cursor_name; EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('没有找到匹配的...

    最全的oracle常用命令大全.txt

    ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化, 体现为sys用户下的一些表和视图。数据字典名称是大写的英文字符。 数据字典里存有用户信息、用户的权限信息、...

    ORACLE_cusor.rar_oracle

    FETCH cursor_name INTO var_column1, var_column2; EXIT WHEN cursor_name%NOTFOUND; -- 处理每一行数据 dbms_output.put_line(var_column1 || ', ' || var_column2); END LOOP; CLOSE cursor_name; END;...

    ORACLE游标与异常处理

    FETCH cursor_name INTO var1, var2; EXIT WHEN cursor_name%NOTFOUND; -- 处理var1和var2的值 DBMS_OUTPUT.PUT_LINE(var1 || ', ' || var2); END LOOP; CLOSE cursor_name; END; ``` 在这个例子中,我们...

Global site tag (gtag.js) - Google Analytics