[使用concat输入%TYPE。]

时间:2016-02-23 21:01:47

标签: oracle plsql

我有以下情况:

DECLARE v_var table_name.field%TYPE;

和SELECT字段一样进入v_var就可以了。

但我怎么能用||处理这种情况(连接):

SELECT field_1 || field_2 into v_var

我应声明什么样的%TYPE变量? table_name.field_1或field_2的table_name?那表中声明类型的长度怎么样?

1 个答案:

答案 0 :(得分:0)

只需声明您的规格的自定义类型即可。在长包中,如果必须扩展数据类型,这意味着更多的可重用性。

02-24 03:01:38.074 32206-32206/com.abc.app W/ArrayMap: New hash 0 is before end of array hash 1374673561 at index 4 key null
     java.lang.RuntimeException: here
         at android.util.ArrayMap.append(ArrayMap.java:510)
         at android.os.Parcel.readArrayMapInternal(Parcel.java:2483)
         at android.os.BaseBundle.unparcel(BaseBundle.java:221)
         at android.os.Bundle.getParcelableArrayList(Bundle.java:848)
         at android.content.Intent.getParcelableArrayListExtra(Intent.java:5099)
         at com.abc.app.activity.FinalActivity.onCreate(FinalActivity.java:60)
         at android.app.Activity.performCreate(Activity.java:6005)
         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1111)
         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2446)
         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2555)
         at android.app.ActivityThread.access$800(ActivityThread.java:176)
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1437)
         at android.os.Handler.dispatchMessage(Handler.java:111)
         at android.os.Looper.loop(Looper.java:194)
         at android.app.ActivityThread.main(ActivityThread.java:5576)
         at java.lang.reflect.Method.invoke(Native Method)
         at java.lang.reflect.Method.invoke(Method.java:372)
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:956)
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751)

这看起来有点做作,但允许您在代码中的某一点使字段更大,而不是更改多个硬编码声明。

通过创建类型包可以实现更精细的用法。然后,您可以在整个应用程序中重复使用它们。