Я бы сделал что-то вроде этого (генерирует все нужные вам). Вы можете позже передать их в sqlplus:
echo "select table_name from user_tables;" | sqlplus -S user/pwd | grep -v "^--" | grep -v "TABLE_NAME" | grep "^[A-Z]" | while read sw;
do echo "desc $sw" | sqlplus -S user/pwd | grep -v "\-\-\-\-\-\-" | awk -F' ' '{print $1}' | while read nw;
do echo "select * from $sw where $nw='val'";
done;
done;
Он дает:
select * from TBL1 where DESCRIPTION='val'
select * from TBL1 where ='val'
select * from TBL2 where Name='val'
select * from TBL2 where LNG_ID='val'
И что он делает - для каждого table_name
из user_tables
получить каждое поле (от desc) и создать выбор * из таблицы, где поле равно «val».
Ну, общий способ добавления произвольных свойств к объекту:
$object->attributename = value;
Вы можете, намного более чистые, предварительно определить атрибуты в своем классе (PHP 5+ specific, в PHP 4 вы будет использовать старый var $attributename
)
class baseclass
{
public $attributename; // can be set from outside
private $attributename; // can be set only from within this specific class
protected $attributename; // can be set only from within this class and
// inherited classes
, это настоятельно рекомендуется, поскольку вы также можете документировать свойства в определении вашего класса.
Вы также можете определить getter и методы setter , которые вызываются всякий раз, когда вы пытаетесь изменить свойство объекта.
это статический класс, но тот же принцип будет и для интеллигентного. это позволяет хранить и извлекать все, что вы хотите от этого класса. и выдает ошибку, если вы пытаетесь получить что-то, что не установлено.
class Settings{
protected static $_values = array();
public static function write( $varName, $val ){
self::$_values[ $varName ] = $val;
}
public static function read( $varName ){
if( !isset( self::$_values[ $varName ] )){
throw new Exception( $varName . ' does not exist in Settings' );
}
return self::$_values[ $varName ];
}
}
Взгляните на документацию php.net: http://www.php.net/manual/en/language.oop5.properties.php
Атрибуты называемых «свойствами» или «членами класса» в этом случае.