سؤال

أرغب في إنشاء جدول من مجموعة البيانات التي تم إنشاؤها بواسطة وظيفة "جدول المساعدة" الخاصة بـ Teradata حتى أتمكن من إضافة مزيد من المعلومات حول الجدول ، وأن أكون قادرًا على تصفية الصفوف حسب الظروف. يحتوي الجدول على أكثر من 400 عمود ، لذلك سيكون هذا مناسبًا جدًا للإدارة. أرغب في أن أكون قادرًا على القيام بشيء مشابه لإنشاء جدول كـ SELECT ، لكنه لا يعمل مع بناء جملة جدول المساعدة. أقل من تصدير البيانات إلى Excel ، ثم إنشاء مخطط الجدول يدويًا واستيراد الجدول مرة أخرى ، هل يعرف أي شخص كيفية تحويل إخراج جدول المساعدة إلى جدول في Teradata؟

هل كانت مفيدة؟

المحلول

يأتي الإخراج من أمر جدول المساعدة من قاموس البيانات.

إذا فهمت بشكل صحيح ، فأنت تريد إنشاء جدول جديد مع الإخراج التالي.

help table t1;

 *** Help information returned. 4 rows.
 *** Total elapsed time was 1 second.

Column Name                    Type Comment
------------------------------ ---- --------
a1                             I    ?
b1                             CF   ?
c1                             D    ?
d1                             DA   ?

يمكنك الحصول على كل هذه الأعمدة الثلاثة (أو أكثر) من الجدول dbc.tvfields.

help table dbc.tvfields;

help table dbc.tvfields;

 *** Help information returned. 37 rows.
 *** Total elapsed time was 1 second.

Column Name                    Type Comment
------------------------------ ---- ----------------
TableId                        BF   ?
FieldName                      CV   ?
FieldId                        I2   ?
Nullable                       CF   ?
FieldType                      CF   ?
MaxLength                      I    ?
DefaultValue                   CV   ?
DefaultValueI                  BV   ?
TotalDigits                    I2   ?
ImpliedPoint                   I2   ?
FieldFormat                    CV   ?
FieldTitle                     CV   ?
CommentString                  CV   ?
CollationFlag                  CF   ?
UpperCaseFlag                  CF   ?
DatabaseId                     BF   ?
Compressible                   CF   ?
CompressValueList              CV   ?
FieldStatistics                BV   ?
ColumnCheck                    CV   ?
CheckCount                     I2   ?
CreateUID                      BF   ?
CreateTimeStamp                TS   ?
LastAlterUID                   BF   ?
LastAlterTimeStamp             TS   ?
LastAccessTimeStamp            TS   ?
AccessCount                    I    ?
SPParameterType                CF   ?
CharType                       I2   ?
LobSequenceNo                  I2   ?
IdColType                      CF   ?
UDTypeId                       BF   ?
UDTName                        CV   ?
TimeDimension                  CF   ?
VTCheckType                    CF   ?
TTCheckType                    CF   ?
ConstraintId                   BF   ?

لكن أولاً نحتاج إلى معرفة قاعدة البيانات و TableID.

select databaseid
from dbc.dbase
where databasename='db1';

 *** Query completed. One row found. One column returned.
 *** Total elapsed time was 1 second.

DatabaseId
----------
00000F04
select TVMId
from dbc.tables2
where databaseid='00000F04'xb
and TVMName='t1';

 *** Query completed. One row found. One column returned.
 *** Total elapsed time was 1 second.

TVMId
------------
0000D8070000

يمكنك الآن سرد جميع الأعمدة التي تحتاجها وتخزينها في المقابل.

select * from dbc.tvfields
where databaseid='00000F04'xb
and tableid='0000D8070000'xb;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top