我正在寻找一个简单的选择语句来从 oracle 中的表中取回所有数据。由于正在进行的项目的性质,表格不断更新和更改,因此我没有任何可靠的设计。
我正在寻找一个简单的陈述。这就是我需要它做的所有事情。
Select * from myVariable
搜索后我得到了这个来编译
create or replace procedure "GET_TABLEINFO" (o_rc OUT sys_refcursor, inTableName IN varchar2) AS
BEGIN
execute immediate
'SELECT * FROM '||inTableName
using inTableName;
END;
但是当我尝试将其添加到数据表时:
using (OracleConnection cn = new OracleConnection(connectionString))
{
OracleDataAdapter da = new OracleDataAdapter();
OracleCommand cmd = new OracleCommand();
cmd.Connection = cn;
cmd.InitialLONGFetchSize = 1000;
cmd.CommandText = "GET_TABLEINFO";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("o_rc", OracleDbType.RefCursor, ParameterDirection.Output);
cmd.Parameters.Add("inTable", OracleDbType.Varchar2, 60, inTableName, ParameterDirection.Input);
da.SelectCommand = cmd;
da.Fill(dt);
我明白了
编辑:
我不确定如何设置游标(第一次使用oracle,通常使用SQLSERVER)。程序应该很简单。我传入表名,我需要从该表中获取数据。没有什么花哨的,没有where子句等。
ORA-01006:绑定变量不存在 ORA-06512:在“ODS_DEV.GET_TABLEINFO”,第 4 行 ORA-06512:在第 1 行