有时需要在oracle存储过程中执行动态SQL语句,例如表名是动态的,或字段是动态的,或查询命令是动态的,可用下面的方法:setserveroutputondeclarennumber;sql_stmtvarchar2(50);tvarchar2(20);beginexecuteimmediate'altersessionsetnls_date_format=''YYYYMMDD''';t:='t_'||sysdate;sql_stmt:='selectcount(*)from'||t;executeimmediatesql_stmtinton;dbms_output.put_line('Thenumberofrowsof'||t||'is'||n);end;如果动态SQL语句很长很复杂,则可用包装.CREATEORREPLACEPACKAGEtest_pkgISTYPEcur_typISREFCURSOR;PROCEDUREtest_proc(v_tableVARCHAR2,t_curOUTcur_typ);END;/CREATEORREPLACEPACKAGEBODYtest_pkgISPROCEDUREtest_proc(v_tableVARCHAR2,t_curOUTcur_typ)ISsqlstrVARCHAR2(2000);BEGINsqlstr:='SELECT*FROM'||v_table;OPENt_curFORsqlstr;END;END;/在oracle中批量导入,导出和删除表名以某些字符开头的表spoolc:\a.sql

Django可以获取一个model里字段定义的属性:
返回的是tuple,所以没法修改
数据库中有一数据表table_a,且该表没有主键也无唯一键,有一列row1数据都是不同的(没有唯一键),对应的django中的model为:
django中对应的model设置row1为主键,一切正常
如果row1有重复数据,model在过滤的时候去重,使用model一切正常
如果要操作那些重复项(只有row1中的数据是重复的),但这些重复项中row2和row3的数据都是不同的
如果能动态设置model字段属性就都解决了
当然直接用sql也可以