因为要做TRUNCATE的测试,需要表中有数据,但有许多表,一个一个写INSERT语句太麻烦了。
有没有方法在不知道列类型和列的数量的情况下插入一行?

解决方案 »

  1.   

    我们表里没有日期字段,只有CHAR和NUMBER字段。
      

  2.   

    可不可以是想同的记录啊 ,可以建立一个游标类型 或record组合类型,从表里选择一行初始化这个游标,添加进去.
      

  3.   

    在匿名块里,建一个游标从user_tab_columns数据字段里取出字段,组成一个插入语句串,再用execute immediate动态执行语句。这里关键有一点在于你的值是否正好能匹配所有的字段,因为你提出的问题中字段及其取值可能都需要动态匹配,这要根据你的实际情况来做了。
      

  4.   

    很难实现,问题不在于是不是知道表中字段的类型和数量,而在于你不知道你该插入什么样的值来放在哪个字段中。只有为每一个表写insert语句才可以明确要将什么样的值插进什么样的字段。